UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FVirtualTextureBuiltData Struct Reference

#include <VirtualTextureBuiltData.h>

Public Member Functions

 FVirtualTextureBuiltData ()
 
bool IsInitialized () const
 
uint32 GetNumMips () const
 
uint32 GetNumLayers () const
 
uint32 GetPhysicalTileSize () const
 
uint32 GetWidthInTiles () const
 
uint32 GetHeightInTiles () const
 
uint32 GetMemoryFootprint () const
 
uint32 GetTileMemoryFootprint () const
 
uint64 GetDiskMemoryFootprint () const
 
uint32 GetNumTileHeaders () const
 
void Serialize (FArchive &Ar, UObject *Owner, int32 FirstMipToSerialize)
 
bool IsValidAddress (uint32 vLevel, uint32 vAddress)
 
int32 GetChunkIndex (uint8 vLevel) const
 
uint32 GetTileOffset (uint32 vLevel, uint32 vAddress, uint32 LayerIndex) const
 
bool ValidateData (FStringView const &InDDCDebugContext, bool bValidateCompression) const
 

Public Attributes

uint32 NumLayers
 
uint32 NumMips
 
uint32 Width
 
uint32 Height
 
uint32 WidthInBlocks
 
uint32 HeightInBlocks
 
uint32 TileSize
 
uint32 TileBorderSize
 
TEnumAsByte< EPixelFormatLayerTypes [VIRTUALTEXTURE_DATA_MAXLAYERS]
 
FLinearColor LayerFallbackColors [VIRTUALTEXTURE_DATA_MAXLAYERS]
 
TArray< FVirtualTextureDataChunkChunks
 
TArray< uint32TileDataOffsetPerLayer
 
TArray< uint32ChunkIndexPerMip
 
TArray< uint32BaseOffsetPerMip
 
TArray< FVirtualTextureTileOffsetDataTileOffsetData
 
TArray< uint32TileIndexPerChunk
 
TArray< uint32TileIndexPerMip
 
TArray< uint32TileOffsetInChunk
 

Constructor & Destructor Documentation

◆ FVirtualTextureBuiltData()

FVirtualTextureBuiltData::FVirtualTextureBuiltData ( )
inline

Member Function Documentation

◆ GetChunkIndex()

int32 FVirtualTextureBuiltData::GetChunkIndex ( uint8  vLevel) const

Return the index of the chunk that contains the given mip level. Returns -1 if the mip level doesn't exist.

◆ GetDiskMemoryFootprint()

uint64 FVirtualTextureBuiltData::GetDiskMemoryFootprint ( ) const

◆ GetHeightInTiles()

uint32 FVirtualTextureBuiltData::GetHeightInTiles ( ) const
inline

◆ GetMemoryFootprint()

uint32 FVirtualTextureBuiltData::GetMemoryFootprint ( ) const

◆ GetNumLayers()

uint32 FVirtualTextureBuiltData::GetNumLayers ( ) const
inline

◆ GetNumMips()

uint32 FVirtualTextureBuiltData::GetNumMips ( ) const
inline

◆ GetNumTileHeaders()

uint32 FVirtualTextureBuiltData::GetNumTileHeaders ( ) const

◆ GetPhysicalTileSize()

uint32 FVirtualTextureBuiltData::GetPhysicalTileSize ( ) const
inline

◆ GetTileMemoryFootprint()

uint32 FVirtualTextureBuiltData::GetTileMemoryFootprint ( ) const

◆ GetTileOffset()

uint32 FVirtualTextureBuiltData::GetTileOffset ( uint32  vLevel,
uint32  vAddress,
uint32  LayerIndex 
) const

Return the byte offset of a tile within a chunk. Returns ~0u if the tile doesn't exist.

◆ GetWidthInTiles()

uint32 FVirtualTextureBuiltData::GetWidthInTiles ( ) const
inline

◆ IsInitialized()

bool FVirtualTextureBuiltData::IsInitialized ( ) const
inline

◆ IsValidAddress()

bool FVirtualTextureBuiltData::IsValidAddress ( uint32  vLevel,
uint32  vAddress 
)

Returns false if the address isn't inside the texture bounds.

◆ Serialize()

void FVirtualTextureBuiltData::Serialize ( FArchive Ar,
UObject Owner,
int32  FirstMipToSerialize 
)

◆ ValidateData()

bool FVirtualTextureBuiltData::ValidateData ( FStringView const &  InDDCDebugContext,
bool  bValidateCompression 
) const

Validates the VT data If bValidateCompression is true, attempts to decompress every VT tile, to verify data is valid. This will be very slow

Member Data Documentation

◆ BaseOffsetPerMip

TArray<uint32> FVirtualTextureBuiltData::BaseOffsetPerMip

Base offset in chunk for the mip.

◆ ChunkIndexPerMip

TArray<uint32> FVirtualTextureBuiltData::ChunkIndexPerMip

Chunk index that contains the mip.

◆ Chunks

TArray<FVirtualTextureDataChunk> FVirtualTextureBuiltData::Chunks

Tile data is packed into separate chunks, typically there is 1 mip level in each chunk for high resolution mips. After a certain threshold, all remaining low resolution mips will be packed into one final chunk.

◆ Height

uint32 FVirtualTextureBuiltData::Height

◆ HeightInBlocks

uint32 FVirtualTextureBuiltData::HeightInBlocks

◆ LayerFallbackColors

FLinearColor FVirtualTextureBuiltData::LayerFallbackColors[VIRTUALTEXTURE_DATA_MAXLAYERS]

The fallback color to use for each layer. This color is used whenever we need to sample the VT but have not yet streamed the root pages.

◆ LayerTypes

TEnumAsByte<EPixelFormat> FVirtualTextureBuiltData::LayerTypes[VIRTUALTEXTURE_DATA_MAXLAYERS]

The pixel format output of the data for each layer. The actual data may still be compressed but will decompress to this pixel format (e.g. zipped DXT5 data).

◆ NumLayers

uint32 FVirtualTextureBuiltData::NumLayers

◆ NumMips

uint32 FVirtualTextureBuiltData::NumMips

◆ TileBorderSize

uint32 FVirtualTextureBuiltData::TileBorderSize

◆ TileDataOffsetPerLayer

TArray<uint32> FVirtualTextureBuiltData::TileDataOffsetPerLayer

Per layer tile data offset in bytes. This is empty if compression (zlib etc) is used, since in that case offsets will vary per tile. Each value is the sum of the packed tile data sizes for the current and the preceding layers.

◆ TileIndexPerChunk

TArray<uint32> FVirtualTextureBuiltData::TileIndexPerChunk

Index of the first tile within each chunk

◆ TileIndexPerMip

TArray<uint32> FVirtualTextureBuiltData::TileIndexPerMip

Index of the first tile within each mip level

◆ TileOffsetData

TArray<FVirtualTextureTileOffsetData> FVirtualTextureBuiltData::TileOffsetData

Holds the tile to chunk offset lookup data. One array entry per mip level.

◆ TileOffsetInChunk

TArray<uint32> FVirtualTextureBuiltData::TileOffsetInChunk

Info for the tiles organized per level. Within a level tile info is organized in Morton order. This is in Morton order which can waste a lot of space in this array for non-square images e.g.:

  • An 8x1 tile image will allocate 8x4 indexes in this array.
  • An 1x8 tile image will allocate 8x8 indexes in this array.

◆ TileSize

uint32 FVirtualTextureBuiltData::TileSize

◆ Width

uint32 FVirtualTextureBuiltData::Width

◆ WidthInBlocks

uint32 FVirtualTextureBuiltData::WidthInBlocks

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