UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FUploadingVirtualTexture Class Reference

#include <UploadingVirtualTexture.h>

+ Inheritance diagram for FUploadingVirtualTexture:

Public Member Functions

 FUploadingVirtualTexture (const FName &InName, FVirtualTextureBuiltData *InData, int32 FirstMipToUse)
 
virtual ~FUploadingVirtualTexture ()
 
virtual uint32 GetLocalMipBias (uint8 vLevel, uint32 vAddress) const override
 
virtual bool IsPageStreamed (uint8 vLevel, uint32 vAddress) const override
 
virtual FVTRequestPageResult RequestPageData (FRHICommandListBase &RHICmdList, const FVirtualTextureProducerHandle &ProducerHandle, uint8 LayerMask, uint8 vLevel, uint64 vAddress, EVTRequestPagePriority Priority) override
 
virtual IVirtualTextureFinalizerProducePageData (FRHICommandListBase &RHICmdList, ERHIFeatureLevel::Type FeatureLevel, EVTProducePageFlags Flags, const FVirtualTextureProducerHandle &ProducerHandle, uint8 LayerMask, uint8 vLevel, uint64 vAddress, uint64 RequestHandle, const FVTProduceTargetLayer *TargetLayers) override
 
virtual void GatherProducePageDataTasks (FVirtualTextureProducerHandle const &ProducerHandle, FGraphEventArray &InOutTasks) const override
 
virtual void GatherProducePageDataTasks (uint64 RequestHandle, FGraphEventArray &InOutTasks) const override
 
virtual void DumpToConsole (bool verbose) override
 
const FNameGetName () const
 
const FVirtualTextureBuiltDataGetVTData () const
 
FVTCodecAndStatus GetCodecForChunk (FGraphEventArray &OutCompletionEvents, uint32 ChunkIndex, EVTRequestPagePriority Priority)
 
FVTDataAndStatus ReadData (FGraphEventArray &OutCompletionEvents, uint32 ChunkIndex, size_t Offset, size_t Size, EVTRequestPagePriority Priority)
 
- Public Member Functions inherited from IVirtualTexture
 IVirtualTexture ()
 
virtual ~IVirtualTexture ()
 
virtual void OnRequestsCompleted ()
 

Friends

class FVirtualTextureCodec
 

Constructor & Destructor Documentation

◆ FUploadingVirtualTexture()

FUploadingVirtualTexture::FUploadingVirtualTexture ( const FName InName,
FVirtualTextureBuiltData InData,
int32  FirstMipToUse 
)

◆ ~FUploadingVirtualTexture()

FUploadingVirtualTexture::~FUploadingVirtualTexture ( )
virtual

Member Function Documentation

◆ DumpToConsole()

void FUploadingVirtualTexture::DumpToConsole ( bool  verbose)
overridevirtual

Dump any type specific debug info.

Reimplemented from IVirtualTexture.

◆ GatherProducePageDataTasks() [1/2]

void FUploadingVirtualTexture::GatherProducePageDataTasks ( FVirtualTextureProducerHandle const &  ProducerHandle,
FGraphEventArray InOutTasks 
) const
overridevirtual

Collect all task graph events.

Reimplemented from IVirtualTexture.

◆ GatherProducePageDataTasks() [2/2]

void FUploadingVirtualTexture::GatherProducePageDataTasks ( uint64  RequestHandle,
FGraphEventArray InOutTasks 
) const
overridevirtual

Collect all task graph events related to a request.

Reimplemented from IVirtualTexture.

◆ GetCodecForChunk()

FVTCodecAndStatus FUploadingVirtualTexture::GetCodecForChunk ( FGraphEventArray OutCompletionEvents,
uint32  ChunkIndex,
EVTRequestPagePriority  Priority 
)

◆ GetLocalMipBias()

uint32 FUploadingVirtualTexture::GetLocalMipBias ( uint8  vLevel,
uint32  vAddress 
) const
overridevirtual

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

Parameters
vLevelThe mipmap level to check
vAddressVirtual address to check
Returns
Mip bias to be added to vLevel to reach a resident page at the given address

Reimplemented from IVirtualTexture.

◆ GetName()

const FName & FUploadingVirtualTexture::GetName ( ) const
inline

◆ GetVTData()

const FVirtualTextureBuiltData * FUploadingVirtualTexture::GetVTData ( ) const
inline

◆ IsPageStreamed()

virtual bool FUploadingVirtualTexture::IsPageStreamed ( uint8  vLevel,
uint32  vAddress 
) const
inlineoverridevirtual

Whether data for the given page is streamed (e.g. loading from disk).

Implements IVirtualTexture.

◆ ProducePageData()

IVirtualTextureFinalizer * FUploadingVirtualTexture::ProducePageData ( FRHICommandListBase RHICmdList,
ERHIFeatureLevel::Type  FeatureLevel,
EVTProducePageFlags  Flags,
const FVirtualTextureProducerHandle ProducerHandle,
uint8  LayerMask,
uint8  vLevel,
uint64  vAddress,
uint64  RequestHandle,
const FVTProduceTargetLayer TargetLayers 
)
overridevirtual

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

Parameters
RHICmdListUsed to write any commands required to generate the VT page data
FeatureLevelThe current RHI feature level
ProducerHandleHandle to this producer
LayerMaskMask 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
vLevelThe mipmap level of the data
vAddressBit-interleaved x,y page indexes
RequestHandleopaque handle returned from 'RequestPageData'
TargetLayersArray of 'FVTProduceTargetLayer' structs, gives location where each layer should write data
Returns
a 'IVirtualTextureFinalizer' which must be finalized to complete the operation

Implements IVirtualTexture.

◆ ReadData()

FVTDataAndStatus FUploadingVirtualTexture::ReadData ( FGraphEventArray OutCompletionEvents,
uint32  ChunkIndex,
size_t  Offset,
size_t  Size,
EVTRequestPagePriority  Priority 
)

◆ RequestPageData()

FVTRequestPageResult FUploadingVirtualTexture::RequestPageData ( FRHICommandListBase RHICmdList,
const FVirtualTextureProducerHandle ProducerHandle,
uint8  LayerMask,
uint8  vLevel,
uint64  vAddress,
EVTRequestPagePriority  Priority 
)
overridevirtual

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

Parameters
ProducerHandleHandle to this producer, can be used as a UID for this producer for any internal caching mechanisms
LayerMaskMask of requested layers
vLevelThe mipmap level of the data
vAddressBit-interleaved x,y page indexes
PriorityPriority of the request, used to drive async IO/task priority needed to generate data for request
Returns
FVTRequestPageResult describing the availability of the request

Implements IVirtualTexture.

Friends And Related Symbol Documentation

◆ FVirtualTextureCodec


The documentation for this class was generated from the following files: