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

#include <MaterialShared.h>

Public Member Functions

 FMaterialVirtualTextureStack ()
 
 FMaterialVirtualTextureStack (int32 InPreallocatedStackTextureIndex)
 
uint32 AddLayer ()
 
uint32 SetLayer (int32 LayerIndex, int32 UniformExpressionIndex)
 
uint32 GetNumLayers () const
 
bool AreLayersFull () const
 
int32 FindLayer (int32 UniformExpressionIndex) const
 
bool IsPreallocatedStack () const
 
void GetTextureValues (const FMaterialRenderContext &Context, const FUniformExpressionSet &UniformExpressionSet, UTexture const **OutValues) const
 
void GetTextureValue (const FMaterialRenderContext &Context, const FUniformExpressionSet &UniformExpressionSet, const URuntimeVirtualTexture *&OutValue) const
 
void GetTextureValue (const FMaterialRenderContext &Context, const FUniformExpressionSet &UniformExpressionSet, const USparseVolumeTexture *&OutValue) const
 
void Serialize (FArchive &Ar)
 
 LAYOUT_FIELD (uint32, NumLayers)
 
 LAYOUT_ARRAY (int32, LayerUniformExpressionIndices, VIRTUALTEXTURE_SPACE_MAXLAYERS)
 
 LAYOUT_FIELD (int32, PreallocatedStackTextureIndex)
 

Friends

FArchiveoperator<< (FArchive &Ar, FMaterialVirtualTextureStack &Stack)
 
bool operator== (const FMaterialVirtualTextureStack &Lhs, const FMaterialVirtualTextureStack &Rhs)
 
bool operator!= (const FMaterialVirtualTextureStack &Lhs, const FMaterialVirtualTextureStack &Rhs)
 

Constructor & Destructor Documentation

◆ FMaterialVirtualTextureStack() [1/2]

FMaterialVirtualTextureStack::FMaterialVirtualTextureStack ( )

◆ FMaterialVirtualTextureStack() [2/2]

FMaterialVirtualTextureStack::FMaterialVirtualTextureStack ( int32  InPreallocatedStackTextureIndex)

Construct with a texture index when this references a preallocated VT stack (for example when we are using a URuntimeVirtualTexture).

Member Function Documentation

◆ AddLayer()

uint32 FMaterialVirtualTextureStack::AddLayer ( )

Add space for a layer in the stack. Returns an index that can be used for SetLayer().

◆ AreLayersFull()

bool FMaterialVirtualTextureStack::AreLayersFull ( ) const
inline

Returns true if we have allocated the maximum number of layers for this stack.

◆ FindLayer()

int32 FMaterialVirtualTextureStack::FindLayer ( int32  UniformExpressionIndex) const

Find the layer in the stack that was set with this expression index.

◆ GetNumLayers()

uint32 FMaterialVirtualTextureStack::GetNumLayers ( ) const
inline

Get the number of layers allocated in the stack.

◆ GetTextureValue() [1/2]

void FMaterialVirtualTextureStack::GetTextureValue ( const FMaterialRenderContext Context,
const FUniformExpressionSet UniformExpressionSet,
const URuntimeVirtualTexture *&  OutValue 
) const

Get the URuntimeVirtualTexture object if one was used to initialize this stack.

◆ GetTextureValue() [2/2]

void FMaterialVirtualTextureStack::GetTextureValue ( const FMaterialRenderContext Context,
const FUniformExpressionSet UniformExpressionSet,
const USparseVolumeTexture *&  OutValue 
) const

Get the USparseVolumeTexture object if one was used to initialize this stack.

◆ GetTextureValues()

void FMaterialVirtualTextureStack::GetTextureValues ( const FMaterialRenderContext Context,
const FUniformExpressionSet UniformExpressionSet,
UTexture const **  OutValues 
) const

Get the array of UTexture objects for the expressions that in the layers of this stack. Can return nullptr objects for layers that don't hold UTexture2D references.

◆ IsPreallocatedStack()

bool FMaterialVirtualTextureStack::IsPreallocatedStack ( ) const
inline

Returns true if this is a stack that with a preallocated layout of layers (for example when we are using a URuntimeVirtualTexture).

◆ LAYOUT_ARRAY()

FMaterialVirtualTextureStack::LAYOUT_ARRAY ( int32  ,
LayerUniformExpressionIndices  ,
VIRTUALTEXTURE_SPACE_MAXLAYERS   
)

Indices of the expressions that were set to layers in this stack.

◆ LAYOUT_FIELD() [1/2]

FMaterialVirtualTextureStack::LAYOUT_FIELD ( int32  ,
PreallocatedStackTextureIndex   
)

Index of a texture reference if we create a stack from a single known texture that has it's own layer stack.

◆ LAYOUT_FIELD() [2/2]

FMaterialVirtualTextureStack::LAYOUT_FIELD ( uint32  ,
NumLayers   
)

Number of layers that have been allocated in this stack.

◆ Serialize()

void FMaterialVirtualTextureStack::Serialize ( FArchive Ar)

◆ SetLayer()

uint32 FMaterialVirtualTextureStack::SetLayer ( int32  LayerIndex,
int32  UniformExpressionIndex 
)

Set an expression index at a layer in the stack.

Friends And Related Symbol Documentation

◆ operator!=

bool operator!= ( const FMaterialVirtualTextureStack Lhs,
const FMaterialVirtualTextureStack Rhs 
)
friend

◆ operator<<

FArchive & operator<< ( FArchive Ar,
FMaterialVirtualTextureStack Stack 
)
friend

◆ operator==

bool operator== ( const FMaterialVirtualTextureStack Lhs,
const FMaterialVirtualTextureStack Rhs 
)
friend

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