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

#include <MorphTargetVertexInfoBuffers.h>

+ Inheritance diagram for FMorphTargetVertexInfoBuffers:

Public Member Functions

ENGINE_API FMorphTargetVertexInfoBuffers ()
 
ENGINE_API ~FMorphTargetVertexInfoBuffers ()
 
ENGINE_API void InitMorphResources (EShaderPlatform ShaderPlatform, const TArray< FSkelMeshRenderSection > &RenderSections, const TArray< UMorphTarget * > &MorphTargets, int32 NumVertices, int32 LODIndex, float TargetPositionErrorTolerance)
 
ENGINE_API void InitMorphResourcesStreaming (const TArray< FSkelMeshRenderSection > &RenderSections, const TArray< const FMorphTargetLODModel * > &MorphTargets, int32 NumVertices, float TargetPositionErrorTolerance)
 
bool IsMorphResourcesInitialized () const
 
bool IsRHIInitialized () const
 
bool IsMorphCPUDataValid () const
 
bool GetEmptyMorphCPUDataOnInitRHI () const
 
void SetEmptyMorphCPUDataOnInitRHI (bool bEmpty)
 
virtual ENGINE_API void InitRHI (FRHICommandListBase &RHICmdList) override
 
virtual ENGINE_API void ReleaseRHI () override
 
uint32 GetNumBatches (uint32 index=UINT_MAX) const
 
uint32 GetNumMorphs () const
 
uint32 GetBatchStartOffset (uint32 Index) const
 
const FVector4fGetMaximumMorphScale (uint32 Index) const
 
const FVector4fGetMinimumMorphScale (uint32 Index) const
 
float GetPositionPrecision () const
 
float GetTangentZPrecision () const
 
const uint32GetData () const
 
uint64 GetMorphDataSizeInBytes () const
 
- 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)
 
virtual FString GetFriendlyName () const
 
bool IsInitialized () const
 
int32 GetListIndex () const
 
EInitPhase GetInitPhase () const
 
void SetOwnerName (FName InOwnerName)
 
FName GetOwnerName () const
 
void SetResourceName (FName InResourceName)
 
FName GetResourceName () const
 

Static Public Member Functions

static ENGINE_API uint32 GetMaximumThreadGroupSize ()
 
static ENGINE_API bool IsPlatformShaderSupported (EShaderPlatform ShaderPlatform)
 
- 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

FBufferRHIRef MorphDataBuffer
 
FShaderResourceViewRHIRef MorphDataSRV
 
- Public Attributes inherited from FRenderResource
ERenderResourceState ResourceState = ERenderResourceState::Default
 

Protected Member Functions

ENGINE_API void ResetCPUData ()
 
ENGINE_API void ValidateVertexBuffers (bool bMorphTargetsShouldBeValid)
 
ENGINE_API void Serialize (FArchive &Ar)
 
void Compress (const TArray< FSkelMeshRenderSection > &RenderSections, const TArray< const FMorphTargetLODModel * > &MorphTargets, const TBitArray<> &UsesBuiltinMorphTargetCompression, int32 NumVertices, float TargetPositionErrorTolerance)
 
- 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)
 

Protected Attributes

TResourceArray< uint32MorphData
 
TArray< FVector4fMaximumValuePerMorph
 
TArray< FVector4fMinimumValuePerMorph
 
TArray< uint32BatchStartOffsetPerMorph
 
TArray< uint32BatchesPerMorph
 
uint32 NumTotalBatches = 0
 
float PositionPrecision = 0.0f
 
float TangentZPrecision = 0.0f
 
bool bIsMorphCPUDataValid = false
 
bool bResourcesInitialized = false
 
bool bRHIInitialized = false
 
bool bEmptyMorphCPUDataOnInitRHI = true
 

Friends

class FSkeletalMeshLODRenderData
 
ENGINE_API friend FArchiveoperator<< (FArchive &Ar, FMorphTargetVertexInfoBuffers &MorphTargetVertexInfoBuffers)
 

Additional Inherited Members

- Public Types inherited from FRenderResource
enum class  EInitPhase : uint8 { Pre , Default , MAX }
 
- Static Protected Member Functions inherited from FRenderResource
static RENDERCORE_API FRHICommandListBaseGetImmediateCommandList ()
 

Constructor & Destructor Documentation

◆ FMorphTargetVertexInfoBuffers()

FMorphTargetVertexInfoBuffers::FMorphTargetVertexInfoBuffers ( )
default

◆ ~FMorphTargetVertexInfoBuffers()

FMorphTargetVertexInfoBuffers::~FMorphTargetVertexInfoBuffers ( )
default

Member Function Documentation

◆ Compress()

void FMorphTargetVertexInfoBuffers::Compress ( const TArray< FSkelMeshRenderSection > &  RenderSections,
const TArray< const FMorphTargetLODModel * > &  MorphTargets,
const TBitArray<> &  UsesBuiltinMorphTargetCompression,
int32  NumVertices,
float  TargetPositionErrorTolerance 
)
protected

◆ GetBatchStartOffset()

uint32 FMorphTargetVertexInfoBuffers::GetBatchStartOffset ( uint32  Index) const
inline

◆ GetData()

const uint32 * FMorphTargetVertexInfoBuffers::GetData ( ) const
inline

◆ GetEmptyMorphCPUDataOnInitRHI()

bool FMorphTargetVertexInfoBuffers::GetEmptyMorphCPUDataOnInitRHI ( ) const
inline

◆ GetMaximumMorphScale()

const FVector4f & FMorphTargetVertexInfoBuffers::GetMaximumMorphScale ( uint32  Index) const
inline

◆ GetMaximumThreadGroupSize()

uint32 FMorphTargetVertexInfoBuffers::GetMaximumThreadGroupSize ( )
static

◆ GetMinimumMorphScale()

const FVector4f & FMorphTargetVertexInfoBuffers::GetMinimumMorphScale ( uint32  Index) const
inline

◆ GetMorphDataSizeInBytes()

uint64 FMorphTargetVertexInfoBuffers::GetMorphDataSizeInBytes ( ) const
inline

◆ GetNumBatches()

uint32 FMorphTargetVertexInfoBuffers::GetNumBatches ( uint32  index = UINT_MAX) const
inline

◆ GetNumMorphs()

uint32 FMorphTargetVertexInfoBuffers::GetNumMorphs ( ) const
inline

◆ GetPositionPrecision()

float FMorphTargetVertexInfoBuffers::GetPositionPrecision ( ) const
inline

◆ GetTangentZPrecision()

float FMorphTargetVertexInfoBuffers::GetTangentZPrecision ( ) const
inline

◆ InitMorphResources()

void FMorphTargetVertexInfoBuffers::InitMorphResources ( EShaderPlatform  ShaderPlatform,
const TArray< FSkelMeshRenderSection > &  RenderSections,
const TArray< UMorphTarget * > &  MorphTargets,
int32  NumVertices,
int32  LODIndex,
float  TargetPositionErrorTolerance 
)

◆ InitMorphResourcesStreaming()

void FMorphTargetVertexInfoBuffers::InitMorphResourcesStreaming ( const TArray< FSkelMeshRenderSection > &  RenderSections,
const TArray< const FMorphTargetLODModel * > &  MorphTargets,
int32  NumVertices,
float  TargetPositionErrorTolerance 
)

◆ InitRHI()

void FMorphTargetVertexInfoBuffers::InitRHI ( FRHICommandListBase RHICmdList)
overridevirtual

Initializes the RHI resources used by this resource. Called when entering the state where both the resource and the RHI have been initialized. This is only called by the rendering thread.

Reimplemented from FRenderResource.

◆ IsMorphCPUDataValid()

bool FMorphTargetVertexInfoBuffers::IsMorphCPUDataValid ( ) const
inline

◆ IsMorphResourcesInitialized()

bool FMorphTargetVertexInfoBuffers::IsMorphResourcesInitialized ( ) const
inline

◆ IsPlatformShaderSupported()

bool FMorphTargetVertexInfoBuffers::IsPlatformShaderSupported ( EShaderPlatform  ShaderPlatform)
static

◆ IsRHIInitialized()

bool FMorphTargetVertexInfoBuffers::IsRHIInitialized ( ) const
inline

◆ ReleaseRHI()

void FMorphTargetVertexInfoBuffers::ReleaseRHI ( )
overridevirtual

Releases the RHI resources used by this resource. Called when leaving the state where both the resource and the RHI have been initialized. This is only called by the rendering thread.

Reimplemented from FRenderResource.

◆ ResetCPUData()

void FMorphTargetVertexInfoBuffers::ResetCPUData ( )
protected

◆ Serialize()

void FMorphTargetVertexInfoBuffers::Serialize ( FArchive Ar)
protected

◆ SetEmptyMorphCPUDataOnInitRHI()

void FMorphTargetVertexInfoBuffers::SetEmptyMorphCPUDataOnInitRHI ( bool  bEmpty)
inline

◆ ValidateVertexBuffers()

void FMorphTargetVertexInfoBuffers::ValidateVertexBuffers ( bool  bMorphTargetsShouldBeValid)
protected

Friends And Related Symbol Documentation

◆ FSkeletalMeshLODRenderData

◆ operator<<

ENGINE_API friend FArchive & operator<< ( FArchive Ar,
FMorphTargetVertexInfoBuffers MorphTargetVertexInfoBuffers 
)
friend

Member Data Documentation

◆ BatchesPerMorph

TArray<uint32> FMorphTargetVertexInfoBuffers::BatchesPerMorph
protected

◆ BatchStartOffsetPerMorph

TArray<uint32> FMorphTargetVertexInfoBuffers::BatchStartOffsetPerMorph
protected

◆ bEmptyMorphCPUDataOnInitRHI

bool FMorphTargetVertexInfoBuffers::bEmptyMorphCPUDataOnInitRHI = true
protected

◆ bIsMorphCPUDataValid

bool FMorphTargetVertexInfoBuffers::bIsMorphCPUDataValid = false
protected

◆ bResourcesInitialized

bool FMorphTargetVertexInfoBuffers::bResourcesInitialized = false
protected

◆ bRHIInitialized

bool FMorphTargetVertexInfoBuffers::bRHIInitialized = false
protected

◆ MaximumValuePerMorph

TArray<FVector4f> FMorphTargetVertexInfoBuffers::MaximumValuePerMorph
protected

◆ MinimumValuePerMorph

TArray<FVector4f> FMorphTargetVertexInfoBuffers::MinimumValuePerMorph
protected

◆ MorphData

TResourceArray<uint32> FMorphTargetVertexInfoBuffers::MorphData
protected

◆ MorphDataBuffer

FBufferRHIRef FMorphTargetVertexInfoBuffers::MorphDataBuffer

◆ MorphDataSRV

FShaderResourceViewRHIRef FMorphTargetVertexInfoBuffers::MorphDataSRV

◆ NumTotalBatches

uint32 FMorphTargetVertexInfoBuffers::NumTotalBatches = 0
protected

◆ PositionPrecision

float FMorphTargetVertexInfoBuffers::PositionPrecision = 0.0f
protected

◆ TangentZPrecision

float FMorphTargetVertexInfoBuffers::TangentZPrecision = 0.0f
protected

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