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

#include <SkeletalMeshRenderData.h>

Public Member Functions

ENGINE_API FSkeletalMeshRenderData ()
 
ENGINE_API ~FSkeletalMeshRenderData ()
 
ENGINE_API void Serialize (FArchive &Ar, USkinnedAsset *Owner)
 
ENGINE_API void InitResources (bool bNeedsVertexColors, USkinnedAsset *Owner)
 
ENGINE_API void ReleaseResources ()
 
ENGINE_API void GetResourceSizeEx (FResourceSizeEx &CumulativeResourceSize)
 
ENGINE_API void InitStaticRayTracingGeometry (int32 LODIndex)
 
ENGINE_API void ReleaseStaticRayTracingGeometry (int32 LODIndex)
 
ENGINE_API SIZE_T GetCPUAccessMemoryOverhead () const
 
ENGINE_API bool RequiresCPUSkinning (ERHIFeatureLevel::Type FeatureLevel) const
 
ENGINE_API bool RequiresCPUSkinning (ERHIFeatureLevel::Type FeatureLevel, int32 MinLODIdx) const
 
ENGINE_API uint32 GetNumBoneInfluences () const
 
ENGINE_API uint32 GetNumBoneInfluences (int32 MinLODIdx) const
 
ENGINE_API int32 GetMaxBonesPerSection () const
 
ENGINE_API int32 GetMaxBonesPerSection (int32 MinLODIdx) const
 
ENGINE_API int32 GetFirstValidLODIdx (int32 MinLODIdx) const
 
int32 GetPendingFirstLODIdx (int32 MinLODIdx) const
 
ENGINE_API bool AnyRenderSectionCastsShadows (int32 MinLODIdx) const
 
const FSkeletalMeshLODRenderDataGetPendingFirstLOD (int32 MinLODIdx) const
 
bool IsInitialized () const
 
ENGINE_API bool HasValidNaniteData () const
 

Public Attributes

TIndirectArray< FSkeletalMeshLODRenderDataLODRenderData
 
TPimplPtr< Nanite::FResourcesNaniteResourcesPtr
 
bool bReadyForStreaming
 
uint8 NumInlinedLODs
 
uint8 NumNonOptionalLODs
 
uint8 CurrentFirstLODIdx
 
uint8 PendingFirstLODIdx
 
uint8 LODBiasModifier
 
bool bSupportRayTracing
 
FName OwnerName = NAME_None
 

Constructor & Destructor Documentation

◆ FSkeletalMeshRenderData()

FSkeletalMeshRenderData::FSkeletalMeshRenderData ( )

◆ ~FSkeletalMeshRenderData()

FSkeletalMeshRenderData::~FSkeletalMeshRenderData ( )

Member Function Documentation

◆ AnyRenderSectionCastsShadows()

bool FSkeletalMeshRenderData::AnyRenderSectionCastsShadows ( int32  MinLODIdx) const

Check if any render section casts shadows

◆ GetCPUAccessMemoryOverhead()

SIZE_T FSkeletalMeshRenderData::GetCPUAccessMemoryOverhead ( ) const

Get the estimated memory overhead of buffers marked as NeedsCPUAccess.

◆ GetFirstValidLODIdx()

int32 FSkeletalMeshRenderData::GetFirstValidLODIdx ( int32  MinLODIdx) const

Return first valid LOD index starting at MinLODIdx.

◆ GetMaxBonesPerSection() [1/2]

int32 FSkeletalMeshRenderData::GetMaxBonesPerSection ( ) const

Computes the maximum number of bones per section used to render this mesh.

◆ GetMaxBonesPerSection() [2/2]

int32 FSkeletalMeshRenderData::GetMaxBonesPerSection ( int32  MinLODIdx) const

Computes the maximum number of bones per section used to render this mesh starting at MinLODIdx.

◆ GetNumBoneInfluences() [1/2]

uint32 FSkeletalMeshRenderData::GetNumBoneInfluences ( ) const

Returns the number of bone influences per vertex.

◆ GetNumBoneInfluences() [2/2]

uint32 FSkeletalMeshRenderData::GetNumBoneInfluences ( int32  MinLODIdx) const

Returns the number of bone influences per vertex starting at MinLODIdx.

◆ GetPendingFirstLOD()

const FSkeletalMeshLODRenderData * FSkeletalMeshRenderData::GetPendingFirstLOD ( int32  MinLODIdx) const
inline

Return the pending first LOD that can be used for rendering starting at MinLODIdx. This takes into account the streaming status from PendingFirstLODIdx, and MinLODIdx is expected to be USkeletalMesh::MinLOD, which is platform specific.

◆ GetPendingFirstLODIdx()

int32 FSkeletalMeshRenderData::GetPendingFirstLODIdx ( int32  MinLODIdx) const
inline

Return the pending first LODIdx that can be used.

◆ GetResourceSizeEx()

void FSkeletalMeshRenderData::GetResourceSizeEx ( FResourceSizeEx CumulativeResourceSize)

Return the resource size

◆ HasValidNaniteData()

bool FSkeletalMeshRenderData::HasValidNaniteData ( ) const

◆ InitResources()

void FSkeletalMeshRenderData::InitResources ( bool  bNeedsVertexColors,
USkinnedAsset Owner 
)

Initializes rendering resources.

◆ InitStaticRayTracingGeometry()

void FSkeletalMeshRenderData::InitStaticRayTracingGeometry ( int32  LODIndex)

Initializes the static ray tracing geometry for the specified LOD (if necessary).

◆ IsInitialized()

bool FSkeletalMeshRenderData::IsInitialized ( ) const
inline

◆ ReleaseResources()

void FSkeletalMeshRenderData::ReleaseResources ( )

Releases rendering resources.

◆ ReleaseStaticRayTracingGeometry()

void FSkeletalMeshRenderData::ReleaseStaticRayTracingGeometry ( int32  LODIndex)

Releases the static ray tracing geometry for the specified LOD (if it's the last reference).

◆ RequiresCPUSkinning() [1/2]

bool FSkeletalMeshRenderData::RequiresCPUSkinning ( ERHIFeatureLevel::Type  FeatureLevel) const

Returns true if this resource must be skinned on the CPU for the given feature level.

◆ RequiresCPUSkinning() [2/2]

bool FSkeletalMeshRenderData::RequiresCPUSkinning ( ERHIFeatureLevel::Type  FeatureLevel,
int32  MinLODIdx 
) const

Returns true if this resource must be skinned on the CPU for the given feature level starting at MinLODIdx

◆ Serialize()

void FSkeletalMeshRenderData::Serialize ( FArchive Ar,
USkinnedAsset Owner 
)

Serialize to/from the specified archive..

Member Data Documentation

◆ bReadyForStreaming

bool FSkeletalMeshRenderData::bReadyForStreaming

True if rhi resources are initialized

◆ bSupportRayTracing

bool FSkeletalMeshRenderData::bSupportRayTracing

Whether ray tracing acceleration structures should be created for this mesh. Derived from owner USkinnedAsset.

◆ CurrentFirstLODIdx

uint8 FSkeletalMeshRenderData::CurrentFirstLODIdx

[RenderThread] Index of the most detailed valid LOD.

◆ LODBiasModifier

uint8 FSkeletalMeshRenderData::LODBiasModifier

Runtime LOD bias modifier for this skeletal mesh

◆ LODRenderData

TIndirectArray<FSkeletalMeshLODRenderData> FSkeletalMeshRenderData::LODRenderData

Per-LOD render data.

◆ NaniteResourcesPtr

TPimplPtr<Nanite::FResources> FSkeletalMeshRenderData::NaniteResourcesPtr

Nanite resource data.

◆ NumInlinedLODs

uint8 FSkeletalMeshRenderData::NumInlinedLODs

Const after serialization.

◆ NumNonOptionalLODs

uint8 FSkeletalMeshRenderData::NumNonOptionalLODs

Const after serialization.

◆ OwnerName

FName FSkeletalMeshRenderData::OwnerName = NAME_None

Optional, name of the owning skeletal mesh

◆ PendingFirstLODIdx

uint8 FSkeletalMeshRenderData::PendingFirstLODIdx

[GameThread/RenderThread] Future value of CurrentFirstLODIdx.


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