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

#include <MultiSizeIndexContainer.h>

Public Member Functions

 FMultiSizeIndexContainer ()
 
ENGINE_API ~FMultiSizeIndexContainer ()
 
ENGINE_API void SetOwnerName (const FName &OwnerName)
 
void InitResources ()
 
void ReleaseResources ()
 
ENGINE_API void Serialize (FArchive &Ar, bool bNeedsCPUAccess)
 
void SerializeMetaData (FArchive &Ar, bool bNeedsCPUAccess)
 
ENGINE_API void CreateIndexBuffer (uint8 DataTypeSize)
 
ENGINE_API void RebuildIndexBuffer (uint8 InDataTypeSize, const TArray< uint32 > &NewArray)
 
ENGINE_API void GetIndexBuffer (TArray< uint32 > &OutArray) const
 
ENGINE_API void CopyIndexBuffer (const TArray< uint32 > &NewArray)
 
bool IsIndexBufferValid () const
 
uint8 GetDataTypeSize () const
 
FRawStaticIndexBuffer16or32InterfaceGetIndexBuffer ()
 
const FRawStaticIndexBuffer16or32InterfaceGetIndexBuffer () const
 
ENGINE_API FBufferRHIRef CreateRHIBuffer (FRHICommandListBase &RHICmdList)
 
void InitRHIForStreaming (FRHIBuffer *IntermediateBuffer, FRHIResourceReplaceBatcher &Batcher)
 
void ReleaseRHIForStreaming (FRHIResourceReplaceBatcher &Batcher)
 

Friends

FArchiveoperator<< (FArchive &Ar, FMultiSizeIndexContainer &Buffer)
 

Detailed Description

Skeletal mesh index buffers are 16 bit by default and 32 bit when called for. This class adds a level of abstraction on top of the index buffers so that we can treat them all as 32 bit.

Constructor & Destructor Documentation

◆ FMultiSizeIndexContainer()

FMultiSizeIndexContainer::FMultiSizeIndexContainer ( )
inline

◆ ~FMultiSizeIndexContainer()

FMultiSizeIndexContainer::~FMultiSizeIndexContainer ( )

Member Function Documentation

◆ CopyIndexBuffer()

void FMultiSizeIndexContainer::CopyIndexBuffer ( const TArray< uint32 > &  NewArray)

Populates the index buffer with a new set of indices

◆ CreateIndexBuffer()

void FMultiSizeIndexContainer::CreateIndexBuffer ( uint8  InDataTypeSize)

Creates a new index buffer

◆ CreateRHIBuffer()

FBufferRHIRef FMultiSizeIndexContainer::CreateRHIBuffer ( FRHICommandListBase RHICmdList)

◆ GetDataTypeSize()

uint8 FMultiSizeIndexContainer::GetDataTypeSize ( ) const
inline

Accessors

◆ GetIndexBuffer() [1/3]

FRawStaticIndexBuffer16or32Interface * FMultiSizeIndexContainer::GetIndexBuffer ( )
inline

◆ GetIndexBuffer() [2/3]

const FRawStaticIndexBuffer16or32Interface * FMultiSizeIndexContainer::GetIndexBuffer ( ) const
inline

◆ GetIndexBuffer() [3/3]

void FMultiSizeIndexContainer::GetIndexBuffer ( TArray< uint32 > &  OutArray) const

Returns a 32 bit version of the index buffer

◆ InitResources()

void FMultiSizeIndexContainer::InitResources ( )

Initialize the index buffer's render resources.

◆ InitRHIForStreaming()

void FMultiSizeIndexContainer::InitRHIForStreaming ( FRHIBuffer IntermediateBuffer,
FRHIResourceReplaceBatcher Batcher 
)

◆ IsIndexBufferValid()

bool FMultiSizeIndexContainer::IsIndexBufferValid ( ) const
inline

◆ RebuildIndexBuffer()

void FMultiSizeIndexContainer::RebuildIndexBuffer ( uint8  InDataTypeSize,
const TArray< uint32 > &  NewArray 
)

Repopulates the index buffer

◆ ReleaseResources()

void FMultiSizeIndexContainer::ReleaseResources ( )

Releases the index buffer's render resources.

◆ ReleaseRHIForStreaming()

void FMultiSizeIndexContainer::ReleaseRHIForStreaming ( FRHIResourceReplaceBatcher Batcher)

◆ Serialize()

void FMultiSizeIndexContainer::Serialize ( FArchive Ar,
bool  bNeedsCPUAccess 
)

Serialization.

Parameters
ArThe archive with which to serialize.
bNeedsCPUAccessIf true, the loaded data will remain in CPU memory even after the RHI index buffer has been initialized.

◆ SerializeMetaData()

void FMultiSizeIndexContainer::SerializeMetaData ( FArchive Ar,
bool  bNeedsCPUAccess 
)

◆ SetOwnerName()

void FMultiSizeIndexContainer::SetOwnerName ( const FName OwnerName)

SetOwnerName should be called before BeginInitResources for the owner name to be successfully tracked.

Friends And Related Symbol Documentation

◆ operator<<

FArchive & operator<< ( FArchive Ar,
FMultiSizeIndexContainer Buffer 
)
friend

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