![]() |
UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
|
#include <VirtualTexturing.h>
Inheritance diagram for IVirtualTexture:This is the interface that can produce tiles of virtual texture data This can be extended to represent different ways of generating VT, such as disk streaming, runtime compositing, or whatever It's provided to the renderer module
|
inline |
|
inlinevirtual |
Dump any type specific debug info.
Reimplemented in FUploadingVirtualTexture.
|
inlinevirtual |
Collect all task graph events.
Reimplemented in FUploadingVirtualTexture, FVirtualTextureLevelRedirector, and FVirtualTextureAddressRedirect.
|
inlinevirtual |
Collect all task graph events related to a request.
Reimplemented in FUploadingVirtualTexture, FVirtualTextureLevelRedirector, and FVirtualTextureAddressRedirect.
|
inlinevirtual |
Gives a localized mip bias for the given local vAddress. This is used to implement sparse VTs, the bias is number of mip levels to add to reach a resident page Must be thread-safe, may be called from any thread
| vLevel | The mipmap level to check |
| vAddress | Virtual address to check |
Reimplemented in FUploadingVirtualTexture.
Whether data for the given page is streamed (e.g. loading from disk).
Implemented in FTextureCollectionVirtualRedirector, FUploadingVirtualTexture, FVirtualTextureAdapterProducer, FVirtualTextureLevelRedirector, FMaterialCacheVirtualProducer, FVirtualTextureAddressRedirect, and FRuntimeVirtualTextureProducer.
Called on every virtual texture system update once all requests are completed, if bNotifyCompleted is enabled.
|
pure virtual |
Upload page data to the cache, data must have been previously requested, and reported either 'Available' or 'Pending' The system will attempt to call RequestPageData/ProducePageData only once for a given vLevel/vAddress, with all the requested layers set in LayerMask, this is important for certain types of procedural producers that may generate multiple layers of VT data at the same time It's valid to produce 'Pending' page data, but in this case ProducePageData may block until data is ready Only called from render thread
| RHICmdList | Used to write any commands required to generate the VT page data |
| FeatureLevel | The current RHI feature level |
| ProducerHandle | Handle to this producer |
| LayerMask | Mask of requested layers; can be used to only produce data for these layers as an optimization, or ignored if all layers are logically produced together |
| vLevel | The mipmap level of the data |
| vAddress | Bit-interleaved x,y page indexes |
| RequestHandle | opaque handle returned from 'RequestPageData' |
| TargetLayers | Array of 'FVTProduceTargetLayer' structs, gives location where each layer should write data |
Implemented in FTextureCollectionVirtualRedirector, FUploadingVirtualTexture, FVirtualTextureAdapterProducer, FVirtualTextureLevelRedirector, FMaterialCacheVirtualProducer, FVirtualTextureAddressRedirect, and FRuntimeVirtualTextureProducer.
|
pure virtual |
Makes a request for the given page data. For data sources that can generate data immediately, it's reasonable for this method to do nothing, and simply return 'Available' Only called from render thread
| ProducerHandle | Handle to this producer, can be used as a UID for this producer for any internal caching mechanisms |
| LayerMask | Mask of requested layers |
| vLevel | The mipmap level of the data |
| vAddress | Bit-interleaved x,y page indexes |
| Priority | Priority of the request, used to drive async IO/task priority needed to generate data for request |
Implemented in FTextureCollectionVirtualRedirector, FUploadingVirtualTexture, FVirtualTextureAdapterProducer, FVirtualTextureLevelRedirector, FMaterialCacheVirtualProducer, FVirtualTextureAddressRedirect, and FRuntimeVirtualTextureProducer.