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

#include <RawIndexBuffer.h>

+ Inheritance diagram for FRawStaticIndexBuffer16or32Interface:

Public Member Functions

virtual void Serialize (FArchive &Ar)=0
 
virtual void SerializeMetaData (FArchive &Ar)=0
 
virtual void SetMetaData (int32 InCachedNumIndices)=0
 
virtual bool GetNeedsCPUAccess () const =0
 
virtual int32 Num () const =0
 
virtual int32 AddItem (uint32 Val)=0
 
virtual uint32 Get (uint32 Idx) const =0
 
virtual voidGetPointerTo (uint32 Idx)=0
 
virtual void Insert (int32 Idx, int32 Num=1)=0
 
virtual void Remove (int32 Idx, int32 Num=1)=0
 
virtual void Empty (int32 Slack=0)=0
 
virtual int32 GetResourceDataSize () const =0
 
FRHIShaderResourceViewGetSRV () const
 
virtual FShaderResourceViewRHIRef GetOrCreateSRV (FRHICommandListBase &RHICmdList) const =0
 
- Public Member Functions inherited from FIndexBuffer
RENDERCORE_API FIndexBuffer ()
 
RENDERCORE_API FIndexBuffer (const FIndexBuffer &)
 
RENDERCORE_API FIndexBufferoperator= (const FIndexBuffer &Other)
 
virtual RENDERCORE_API ~FIndexBuffer ()
 
virtual RENDERCORE_API void ReleaseRHI () override
 
virtual RENDERCORE_API FString GetFriendlyName () const override
 
const FBufferRHIRefGetRHI () const
 
RENDERCORE_API void SetRHI (const FBufferRHIRef &BufferRHI)
 
- Public Member Functions inherited from FRenderResource
RENDERCORE_API FRenderResource ()
 
RENDERCORE_API FRenderResource (ERHIFeatureLevel::Type InFeatureLevel)
 
RENDERCORE_API FRenderResource (const FRenderResource &)
 
RENDERCORE_API FRenderResource (FRenderResource &&)
 
RENDERCORE_API FRenderResourceoperator= (const FRenderResource &Other)
 
RENDERCORE_API FRenderResourceoperator= (FRenderResource &&Other)
 
virtual RENDERCORE_API ~FRenderResource ()
 
virtual void InitRHI (FRHICommandListBase &RHICmdList)
 
virtual RENDERCORE_API void InitResource (FRHICommandListBase &RHICmdList)
 
virtual RENDERCORE_API void ReleaseResource ()
 
RENDERCORE_API void UpdateRHI (FRHICommandListBase &RHICmdList)
 
bool IsInitialized () const
 
int32 GetListIndex () const
 
EInitPhase GetInitPhase () const
 
void SetOwnerName (FName InOwnerName)
 
FName GetOwnerName () const
 
void SetResourceName (FName InResourceName)
 
FName GetResourceName () const
 

Protected Member Functions

ENGINE_API bool IsSRVCreatedByDefault (bool bAllowCPUAccess) const
 
ENGINE_API bool IsShaderResource (bool bAllowCPUAccess) const
 
ENGINE_API bool IsSRVNeeded (bool bAllowCPUAccess) const
 
void InitRHIForStreaming (FRHIBuffer *IntermediateBuffer, size_t IndexSize, FRHIResourceReplaceBatcher &Batcher)
 
void ReleaseRHIForStreaming (FRHIResourceReplaceBatcher &Batcher)
 
- Protected Member Functions inherited from FRenderResource
void SetFeatureLevel (const FStaticFeatureLevel InFeatureLevel)
 
const FStaticFeatureLevel GetFeatureLevel () const
 
bool HasValidFeatureLevel () const
 
template<typename T >
FBufferRHIRef CreateRHIBuffer (FRHICommandListBase &RHICmdList, T &InOutResourceObject, uint32 ResourceCount, EBufferUsageFlags InBufferUsageFlags, const TCHAR *InDebugName)
 
void SetInitPhase (EInitPhase InInitPhase)
 

Static Protected Member Functions

static ENGINE_API FBufferRHIRef CreateRHIIndexBufferInternal (FRHICommandListBase &RHICmdList, const TCHAR *InDebugName, const FName &InOwnerName, int32 IndexCount, size_t IndexSize, FResourceArrayInterface *ResourceArray, bool bIsShaderResource)
 
- Static Protected Member Functions inherited from FRenderResource
static RENDERCORE_API FRHICommandListBaseGetImmediateCommandList ()
 

Protected Attributes

FShaderResourceViewRHIRef SRVValue
 

Additional Inherited Members

- Public Types inherited from FRenderResource
enum class  EInitPhase : uint8 { Pre , Default , MAX }
 
- Static Public Member Functions inherited from FRenderResource
static RENDERCORE_API void ReleaseRHIForAllResources ()
 
static RENDERCORE_API void InitPreRHIResources ()
 
static RENDERCORE_API void ChangeFeatureLevel (ERHIFeatureLevel::Type NewFeatureLevel)
 
static RENDERCORE_API FName SetScopeName (FName Name)
 
- Public Attributes inherited from FIndexBuffer
FBufferRHIRef IndexBufferRHI
 
- Public Attributes inherited from FRenderResource
ERenderResourceState ResourceState = ERenderResourceState::Default
 

Detailed Description

Virtual interface for the FRawStaticIndexBuffer16or32 class

Member Function Documentation

◆ AddItem()

virtual int32 FRawStaticIndexBuffer16or32Interface::AddItem ( uint32  Val)
pure virtual

◆ CreateRHIIndexBufferInternal()

FBufferRHIRef FRawStaticIndexBuffer16or32Interface::CreateRHIIndexBufferInternal ( FRHICommandListBase RHICmdList,
const TCHAR InDebugName,
const FName InOwnerName,
int32  IndexCount,
size_t  IndexSize,
FResourceArrayInterface ResourceArray,
bool  bIsShaderResource 
)
staticprotected

◆ Empty()

virtual void FRawStaticIndexBuffer16or32Interface::Empty ( int32  Slack = 0)
pure virtual

◆ Get()

virtual uint32 FRawStaticIndexBuffer16or32Interface::Get ( uint32  Idx) const
pure virtual

◆ GetNeedsCPUAccess()

virtual bool FRawStaticIndexBuffer16or32Interface::GetNeedsCPUAccess ( ) const
pure virtual

The following methods are basically just accessors that allow us to hide the implementation of FRawStaticIndexBuffer16or32 by making the index array a private member

Implemented in FRawStaticIndexBuffer16or32< INDEX_TYPE >.

◆ GetOrCreateSRV()

virtual FShaderResourceViewRHIRef FRawStaticIndexBuffer16or32Interface::GetOrCreateSRV ( FRHICommandListBase RHICmdList) const
pure virtual

◆ GetPointerTo()

virtual void * FRawStaticIndexBuffer16or32Interface::GetPointerTo ( uint32  Idx)
pure virtual

◆ GetResourceDataSize()

virtual int32 FRawStaticIndexBuffer16or32Interface::GetResourceDataSize ( ) const
pure virtual

◆ GetSRV()

FRHIShaderResourceView * FRawStaticIndexBuffer16or32Interface::GetSRV ( ) const
inline

◆ InitRHIForStreaming()

void FRawStaticIndexBuffer16or32Interface::InitRHIForStreaming ( FRHIBuffer IntermediateBuffer,
size_t  IndexSize,
FRHIResourceReplaceBatcher Batcher 
)
protected

Similar to Init/ReleaseRHI but only update existing SRV so references to the SRV stays valid

◆ Insert()

virtual void FRawStaticIndexBuffer16or32Interface::Insert ( int32  Idx,
int32  Num = 1 
)
pure virtual

◆ IsShaderResource()

bool FRawStaticIndexBuffer16or32Interface::IsShaderResource ( bool  bAllowCPUAccess) const
protected

◆ IsSRVCreatedByDefault()

bool FRawStaticIndexBuffer16or32Interface::IsSRVCreatedByDefault ( bool  bAllowCPUAccess) const
protected

◆ IsSRVNeeded()

bool FRawStaticIndexBuffer16or32Interface::IsSRVNeeded ( bool  bAllowCPUAccess) const
protected

◆ Num()

virtual int32 FRawStaticIndexBuffer16or32Interface::Num ( ) const
pure virtual

◆ ReleaseRHIForStreaming()

void FRawStaticIndexBuffer16or32Interface::ReleaseRHIForStreaming ( FRHIResourceReplaceBatcher Batcher)
protected

◆ Remove()

virtual void FRawStaticIndexBuffer16or32Interface::Remove ( int32  Idx,
int32  Num = 1 
)
pure virtual

◆ Serialize()

virtual void FRawStaticIndexBuffer16or32Interface::Serialize ( FArchive Ar)
pure virtual

◆ SerializeMetaData()

virtual void FRawStaticIndexBuffer16or32Interface::SerializeMetaData ( FArchive Ar)
pure virtual

◆ SetMetaData()

virtual void FRawStaticIndexBuffer16or32Interface::SetMetaData ( int32  InCachedNumIndices)
pure virtual

Member Data Documentation

◆ SRVValue

FShaderResourceViewRHIRef FRawStaticIndexBuffer16or32Interface::SRVValue
protected

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