UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
IAllocatedVirtualTexture Class Referenceabstract

#include <VirtualTexturing.h>

+ Inheritance diagram for IAllocatedVirtualTexture:

Public Member Functions

 IAllocatedVirtualTexture (const FAllocatedVTDescription &InDesc, uint32 InBlockWidthInTiles, uint32 InBlockHeightInTiles, uint32 InWidthInBlocks, uint32 InHeightInBlocks, uint32 InDepthInTiles)
 
virtual uint32 GetPersistentHash () const =0
 
virtual uint32 GetNumPageTableTextures () const =0
 
virtual FRHITextureGetPageTableTexture (uint32 InPageTableIndex) const =0
 
virtual FRHITextureGetPageTableIndirectionTexture () const =0
 
virtual uint32 GetPhysicalTextureSize (uint32 InLayerIndex) const =0
 
virtual FRHITextureGetPhysicalTexture (uint32 InLayerIndex) const =0
 
virtual FRHIShaderResourceViewGetPhysicalTextureSRV (uint32 InLayerIndex, bool bSRGB) const =0
 
virtual void GetPackedPageTableUniform (FUintVector4 *OutUniform) const =0
 
virtual void GetPackedUniform (FUintVector4 *OutUniform, uint32 LayerIndex) const =0
 
virtual void DumpToConsole (bool bVerbose) const
 
const FAllocatedVTDescriptionGetDescription () const
 
const FVirtualTextureProducerHandleGetProducerHandle (uint32 InLayerIndex) const
 
uint32 GetVirtualTileSize () const
 
uint32 GetTileBorderSize () const
 
uint32 GetPhysicalTileSize () const
 
uint32 GetNumTextureLayers () const
 
uint8 GetDimensions () const
 
uint32 GetWidthInBlocks () const
 
uint32 GetHeightInBlocks () const
 
uint32 GetBlockWidthInTiles () const
 
uint32 GetBlockHeightInTiles () const
 
uint32 GetWidthInTiles () const
 
uint32 GetHeightInTiles () const
 
uint32 GetDepthInTiles () const
 
uint32 GetWidthInPixels () const
 
uint32 GetHeightInPixels () const
 
uint32 GetDepthInPixels () const
 
uint32 GetSpaceID () const
 
uint32 GetVirtualAddress () const
 
uint32 GetVirtualPageX () const
 
uint32 GetVirtualPageY () const
 
uint32 GetMaxLevel () const
 
EVTPageTableFormat GetPageTableFormat () const
 

Static Public Attributes

static const uint32 LayersPerPageTableTexture = 4u
 

Protected Member Functions

virtual void Destroy (class FVirtualTextureSystem *InSystem)=0
 
virtual bool TryMapLockedTiles (class FVirtualTextureSystem *InSystem) const =0
 
virtual ~IAllocatedVirtualTexture ()
 

Protected Attributes

FAllocatedVTDescription Description
 
uint32 BlockWidthInTiles
 
uint32 BlockHeightInTiles
 
uint32 WidthInBlocks
 
uint32 HeightInBlocks
 
uint32 DepthInTiles
 
uint32 FrameDeleted
 
int32 NumRefs
 
bool bIsWaitingToMap
 
EVTPageTableFormat PageTableFormat
 
uint32 SpaceID
 
uint32 MaxLevel
 
uint32 VirtualAddress
 
uint32 VirtualPageX
 
uint32 VirtualPageY
 

Friends

class FVirtualTextureSystem
 

Detailed Description

This interface represents a chunk of VT data allocated and owned by the renderer module, backed by both a page table texture, and a physical texture cache for each layer. Both page table and physical texture may be shared amongst many different allocated virtual textures. Any method that deals with physical texture requires an explicit LayerIndex parameter to identify the physical texture in question, methods that don't have LayerIndex parameter refer to properties shared by all textures using the given page table These are created with IRendererModule::AllocateVirtualTexture, and destroyed with IRendererModule::DestroyVirtualTexture They must be allocated from render thread, but may be destroyed from any thread

Constructor & Destructor Documentation

◆ IAllocatedVirtualTexture()

IAllocatedVirtualTexture::IAllocatedVirtualTexture ( const FAllocatedVTDescription InDesc,
uint32  InBlockWidthInTiles,
uint32  InBlockHeightInTiles,
uint32  InWidthInBlocks,
uint32  InHeightInBlocks,
uint32  InDepthInTiles 
)
inline

◆ ~IAllocatedVirtualTexture()

virtual IAllocatedVirtualTexture::~IAllocatedVirtualTexture ( )
inlineprotectedvirtual

Member Function Documentation

◆ Destroy()

virtual void IAllocatedVirtualTexture::Destroy ( class FVirtualTextureSystem InSystem)
protectedpure virtual

Implemented in FAllocatedVirtualTexture.

◆ DumpToConsole()

virtual void IAllocatedVirtualTexture::DumpToConsole ( bool  bVerbose) const
inlinevirtual

◆ GetBlockHeightInTiles()

uint32 IAllocatedVirtualTexture::GetBlockHeightInTiles ( ) const
inline

◆ GetBlockWidthInTiles()

uint32 IAllocatedVirtualTexture::GetBlockWidthInTiles ( ) const
inline

◆ GetDepthInPixels()

uint32 IAllocatedVirtualTexture::GetDepthInPixels ( ) const
inline

◆ GetDepthInTiles()

uint32 IAllocatedVirtualTexture::GetDepthInTiles ( ) const
inline

◆ GetDescription()

const FAllocatedVTDescription & IAllocatedVirtualTexture::GetDescription ( ) const
inline

◆ GetDimensions()

uint8 IAllocatedVirtualTexture::GetDimensions ( ) const
inline

◆ GetHeightInBlocks()

uint32 IAllocatedVirtualTexture::GetHeightInBlocks ( ) const
inline

◆ GetHeightInPixels()

uint32 IAllocatedVirtualTexture::GetHeightInPixels ( ) const
inline

◆ GetHeightInTiles()

uint32 IAllocatedVirtualTexture::GetHeightInTiles ( ) const
inline

◆ GetMaxLevel()

uint32 IAllocatedVirtualTexture::GetMaxLevel ( ) const
inline

◆ GetNumPageTableTextures()

virtual uint32 IAllocatedVirtualTexture::GetNumPageTableTextures ( ) const
pure virtual

Implemented in FAllocatedVirtualTexture.

◆ GetNumTextureLayers()

uint32 IAllocatedVirtualTexture::GetNumTextureLayers ( ) const
inline

◆ GetPackedPageTableUniform()

virtual void IAllocatedVirtualTexture::GetPackedPageTableUniform ( FUintVector4 OutUniform) const
pure virtual

Writes 2x FUintVector4

Implemented in FAllocatedVirtualTexture.

◆ GetPackedUniform()

virtual void IAllocatedVirtualTexture::GetPackedUniform ( FUintVector4 OutUniform,
uint32  LayerIndex 
) const
pure virtual

Writes 1x FUintVector4

Implemented in FAllocatedVirtualTexture.

◆ GetPageTableFormat()

EVTPageTableFormat IAllocatedVirtualTexture::GetPageTableFormat ( ) const
inline

◆ GetPageTableIndirectionTexture()

virtual FRHITexture * IAllocatedVirtualTexture::GetPageTableIndirectionTexture ( ) const
pure virtual

Implemented in FAllocatedVirtualTexture.

◆ GetPageTableTexture()

virtual FRHITexture * IAllocatedVirtualTexture::GetPageTableTexture ( uint32  InPageTableIndex) const
pure virtual

Implemented in FAllocatedVirtualTexture.

◆ GetPersistentHash()

virtual uint32 IAllocatedVirtualTexture::GetPersistentHash ( ) const
pure virtual

Implemented in FAllocatedVirtualTexture.

◆ GetPhysicalTexture()

virtual FRHITexture * IAllocatedVirtualTexture::GetPhysicalTexture ( uint32  InLayerIndex) const
pure virtual

Implemented in FAllocatedVirtualTexture.

◆ GetPhysicalTextureSize()

virtual uint32 IAllocatedVirtualTexture::GetPhysicalTextureSize ( uint32  InLayerIndex) const
pure virtual

Implemented in FAllocatedVirtualTexture.

◆ GetPhysicalTextureSRV()

virtual FRHIShaderResourceView * IAllocatedVirtualTexture::GetPhysicalTextureSRV ( uint32  InLayerIndex,
bool  bSRGB 
) const
pure virtual

Implemented in FAllocatedVirtualTexture.

◆ GetPhysicalTileSize()

uint32 IAllocatedVirtualTexture::GetPhysicalTileSize ( ) const
inline

◆ GetProducerHandle()

const FVirtualTextureProducerHandle & IAllocatedVirtualTexture::GetProducerHandle ( uint32  InLayerIndex) const
inline

◆ GetSpaceID()

uint32 IAllocatedVirtualTexture::GetSpaceID ( ) const
inline

◆ GetTileBorderSize()

uint32 IAllocatedVirtualTexture::GetTileBorderSize ( ) const
inline

◆ GetVirtualAddress()

uint32 IAllocatedVirtualTexture::GetVirtualAddress ( ) const
inline

◆ GetVirtualPageX()

uint32 IAllocatedVirtualTexture::GetVirtualPageX ( ) const
inline

◆ GetVirtualPageY()

uint32 IAllocatedVirtualTexture::GetVirtualPageY ( ) const
inline

◆ GetVirtualTileSize()

uint32 IAllocatedVirtualTexture::GetVirtualTileSize ( ) const
inline

◆ GetWidthInBlocks()

uint32 IAllocatedVirtualTexture::GetWidthInBlocks ( ) const
inline

◆ GetWidthInPixels()

uint32 IAllocatedVirtualTexture::GetWidthInPixels ( ) const
inline

◆ GetWidthInTiles()

uint32 IAllocatedVirtualTexture::GetWidthInTiles ( ) const
inline

◆ TryMapLockedTiles()

virtual bool IAllocatedVirtualTexture::TryMapLockedTiles ( class FVirtualTextureSystem InSystem) const
protectedpure virtual

Implemented in FAllocatedVirtualTexture.

Friends And Related Symbol Documentation

◆ FVirtualTextureSystem

Member Data Documentation

◆ bIsWaitingToMap

bool IAllocatedVirtualTexture::bIsWaitingToMap
protected

◆ BlockHeightInTiles

uint32 IAllocatedVirtualTexture::BlockHeightInTiles
protected

◆ BlockWidthInTiles

uint32 IAllocatedVirtualTexture::BlockWidthInTiles
protected

◆ DepthInTiles

uint32 IAllocatedVirtualTexture::DepthInTiles
protected

◆ Description

FAllocatedVTDescription IAllocatedVirtualTexture::Description
protected

◆ FrameDeleted

uint32 IAllocatedVirtualTexture::FrameDeleted
protected

◆ HeightInBlocks

uint32 IAllocatedVirtualTexture::HeightInBlocks
protected

◆ LayersPerPageTableTexture

const uint32 IAllocatedVirtualTexture::LayersPerPageTableTexture = 4u
static

◆ MaxLevel

uint32 IAllocatedVirtualTexture::MaxLevel
protected

◆ NumRefs

int32 IAllocatedVirtualTexture::NumRefs
protected

◆ PageTableFormat

EVTPageTableFormat IAllocatedVirtualTexture::PageTableFormat
protected

◆ SpaceID

uint32 IAllocatedVirtualTexture::SpaceID
protected

◆ VirtualAddress

uint32 IAllocatedVirtualTexture::VirtualAddress
protected

◆ VirtualPageX

uint32 IAllocatedVirtualTexture::VirtualPageX
protected

◆ VirtualPageY

uint32 IAllocatedVirtualTexture::VirtualPageY
protected

◆ WidthInBlocks

uint32 IAllocatedVirtualTexture::WidthInBlocks
protected

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