UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FMorphVertexBuffer Class Referencefinal

#include <SkeletalRenderGPUSkin.h>

+ Inheritance diagram for FMorphVertexBuffer:

Public Member Functions

 FMorphVertexBuffer ()
 
 FMorphVertexBuffer (FSkeletalMeshRenderData *InSkelMeshRenderData, int32 InLODIdx, ERHIFeatureLevel::Type InFeatureLevel)
 
virtual void InitRHI (FRHICommandListBase &RHICmdList) override
 
virtual void ReleaseRHI () override
 
void RecreateResourcesIfRequired (FRHICommandListBase &RHICmdList, bool bInUsesComputeShader)
 
FString GetFriendlyName () const
 
SIZE_T GetResourceSize () const
 
SIZE_T GetNumVerticies () const
 
FRHIShaderResourceViewGetSRV () const
 
FRHIUnorderedAccessViewGetUAV () const
 
FSkeletalMeshLODRenderDataGetLODRenderData () const
 
- Public Member Functions inherited from FVertexBuffer
RENDERCORE_API FVertexBuffer ()
 
RENDERCORE_API FVertexBuffer (const FVertexBuffer &)
 
RENDERCORE_API FVertexBufferoperator= (const FVertexBuffer &Other)
 
virtual RENDERCORE_API ~FVertexBuffer ()
 
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 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
 

Public Attributes

bool bHasBeenUpdated
 
bool bNeedsInitialClear
 
TArray< int32SectionIds
 
- Public Attributes inherited from FVertexBuffer
FBufferRHIRef VertexBufferRHI
 
- Public Attributes inherited from FRenderResource
ERenderResourceState ResourceState = ERenderResourceState::Default
 

Protected Attributes

FShaderResourceViewRHIRef SRVValue
 
FUnorderedAccessViewRHIRef UAVValue
 
bool bUsesComputeShader
 

Friends

class FMorphVertexBufferPool
 

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)
 
- 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 inherited from FRenderResource
static RENDERCORE_API FRHICommandListBaseGetImmediateCommandList ()
 

Detailed Description

MorphTarget vertices which have been combined into single position/tangentZ deltas

Constructor & Destructor Documentation

◆ FMorphVertexBuffer() [1/2]

FMorphVertexBuffer::FMorphVertexBuffer ( )
inline

Default Constructor

◆ FMorphVertexBuffer() [2/2]

FMorphVertexBuffer::FMorphVertexBuffer ( FSkeletalMeshRenderData InSkelMeshRenderData,
int32  InLODIdx,
ERHIFeatureLevel::Type  InFeatureLevel 
)
inline

Constructor

Parameters
InSkelMeshRenderData- render data containing the data for each LOD
InLODIdx- index of LOD model to use from the parent mesh

Member Function Documentation

◆ GetFriendlyName()

FString FMorphVertexBuffer::GetFriendlyName ( ) const
inlinevirtual

Morph target vertex name

Reimplemented from FVertexBuffer.

◆ GetLODRenderData()

FSkeletalMeshLODRenderData * FMorphVertexBuffer::GetLODRenderData ( ) const
inline

◆ GetNumVerticies()

SIZE_T FMorphVertexBuffer::GetNumVerticies ( ) const
inline

◆ GetResourceSize()

SIZE_T FMorphVertexBuffer::GetResourceSize ( ) const
inline

Get Resource Size : mostly copied from InitRHI - how much they allocate when initialize

◆ GetSRV()

FRHIShaderResourceView * FMorphVertexBuffer::GetSRV ( ) const
inline

◆ GetUAV()

FRHIUnorderedAccessView * FMorphVertexBuffer::GetUAV ( ) const
inline

◆ InitRHI()

void FMorphVertexBuffer::InitRHI ( FRHICommandListBase RHICmdList)
overridevirtual

Initialize the dynamic RHI for this rendering resource

Reimplemented from FRenderResource.

◆ RecreateResourcesIfRequired()

void FMorphVertexBuffer::RecreateResourcesIfRequired ( FRHICommandListBase RHICmdList,
bool  bInUsesComputeShader 
)
inline

◆ ReleaseRHI()

void FMorphVertexBuffer::ReleaseRHI ( )
overridevirtual

Release the dynamic RHI for this rendering resource

Reimplemented from FVertexBuffer.

Friends And Related Symbol Documentation

◆ FMorphVertexBufferPool

Member Data Documentation

◆ bHasBeenUpdated

bool FMorphVertexBuffer::bHasBeenUpdated

Has been updated or not by UpdateMorphVertexBuffer

◆ bNeedsInitialClear

bool FMorphVertexBuffer::bNeedsInitialClear

DX12 cannot clear the buffer in InitRHI with UAV flag enables, we should really have a Zero initzialized flag instead

◆ bUsesComputeShader

bool FMorphVertexBuffer::bUsesComputeShader
protected

◆ SectionIds

TArray<int32> FMorphVertexBuffer::SectionIds

◆ SRVValue

FShaderResourceViewRHIRef FMorphVertexBuffer::SRVValue
protected

◆ UAVValue

FUnorderedAccessViewRHIRef FMorphVertexBuffer::UAVValue
protected

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