UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SkeletalRenderCPUSkin.cpp File Reference

Classes

struct  FMorphTargetInfo
 

Macros

#define INFLUENCE_0   0
 
#define INFLUENCE_1   1
 
#define INFLUENCE_2   2
 
#define INFLUENCE_3   3
 
#define INFLUENCE_4   4
 
#define INFLUENCE_5   5
 
#define INFLUENCE_6   6
 
#define INFLUENCE_7   7
 
#define INFLUENCE_8   8
 
#define INFLUENCE_9   9
 
#define INFLUENCE_10   10
 
#define INFLUENCE_11   11
 
#define SKIN_LOD_VERTICES(VertexType, NumUVs)
 
#define FIXED_VERTEX_INDEX   0xFFFF
 

Functions

void TermEvalInfos (TArray< FMorphTargetInfo > &EvalInfos)
 
template<typename VertexType >
FORCEINLINE void RebuildTangentBasis (VertexType &DestVertex)
 
template<typename VertexType >
FORCEINLINE void ApplyMorphBlend (VertexType &DestVertex, const FMorphTargetDelta &SrcMorph, float Weight)
 
template<typename VertexType >
FORCEINLINE void UpdateMorphedVertex (VertexType &MorphedVertex, const VertexType &SrcVertex, int32 CurBaseVertIdx, int32 LODIndex, TArray< FMorphTargetInfo > &EvalInfos, const TArray< float > &MorphWeights)
 
FVector4 GetTangetToColor (FPackedNormal Tangent)
 

Variables

const VectorRegister VECTOR_0001 = DECLARE_VECTOR_REGISTER(0.f, 0.f, 0.f, 1.f)
 

Macro Definition Documentation

◆ FIXED_VERTEX_INDEX

#define FIXED_VERTEX_INDEX   0xFFFF

◆ INFLUENCE_0

#define INFLUENCE_0   0

◆ INFLUENCE_1

#define INFLUENCE_1   1

◆ INFLUENCE_10

#define INFLUENCE_10   10

◆ INFLUENCE_11

#define INFLUENCE_11   11

◆ INFLUENCE_2

#define INFLUENCE_2   2

◆ INFLUENCE_3

#define INFLUENCE_3   3

◆ INFLUENCE_4

#define INFLUENCE_4   4

◆ INFLUENCE_5

#define INFLUENCE_5   5

◆ INFLUENCE_6

#define INFLUENCE_6   6

◆ INFLUENCE_7

#define INFLUENCE_7   7

◆ INFLUENCE_8

#define INFLUENCE_8   8

◆ INFLUENCE_9

#define INFLUENCE_9   9

◆ SKIN_LOD_VERTICES

#define SKIN_LOD_VERTICES (   VertexType,
  NumUVs 
)
Value:
{\
switch( NumUVs )\
{\
case 1:\
SkinVertices<VertexType<1>, 1>( DestVertex, ReferenceToLocal, DynamicData->LODIndex, LOD, *MeshLOD.MeshObjectWeightBuffer, DynamicData->ActiveMorphTargets, DynamicData->MorphTargetWeights, DynamicData->ClothSimulUpdateData, DynamicData->ClothBlendWeight, DynamicData->WorldToLocal, WorldScale); \
break;\
case 2:\
SkinVertices<VertexType<2>, 2>( DestVertex, ReferenceToLocal, DynamicData->LODIndex, LOD, *MeshLOD.MeshObjectWeightBuffer, DynamicData->ActiveMorphTargets, DynamicData->MorphTargetWeights, DynamicData->ClothSimulUpdateData, DynamicData->ClothBlendWeight, DynamicData->WorldToLocal, WorldScale); \
break;\
case 3:\
SkinVertices<VertexType<3>, 3>( DestVertex, ReferenceToLocal, DynamicData->LODIndex, LOD, *MeshLOD.MeshObjectWeightBuffer, DynamicData->ActiveMorphTargets, DynamicData->MorphTargetWeights, DynamicData->ClothSimulUpdateData, DynamicData->ClothBlendWeight, DynamicData->WorldToLocal, WorldScale); \
break;\
case 4:\
SkinVertices<VertexType<4>, 4>( DestVertex, ReferenceToLocal, DynamicData->LODIndex, LOD, *MeshLOD.MeshObjectWeightBuffer, DynamicData->ActiveMorphTargets, DynamicData->MorphTargetWeights, DynamicData->ClothSimulUpdateData, DynamicData->ClothBlendWeight, DynamicData->WorldToLocal, WorldScale); \
break;\
default:\
checkf(false, TEXT("Invalid number of UV sets. Must be between 1 and 4") );\
break;\
}\
}\
#define TEXT(x)
Definition Platform.h:1272
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127

Function Documentation

◆ ApplyMorphBlend()

template<typename VertexType >
FORCEINLINE void ApplyMorphBlend ( VertexType DestVertex,
const FMorphTargetDelta SrcMorph,
float  Weight 
)

Applies the vertex deltas to a vertex.

◆ GetTangetToColor()

FVector4 GetTangetToColor ( FPackedNormal  Tangent)

Convert FPackedNormal to 0-1 FVector4

◆ RebuildTangentBasis()

template<typename VertexType >
FORCEINLINE void RebuildTangentBasis ( VertexType DestVertex)

Derive the tanget/binormal using the new normal and the base tangent vectors for a vertex

◆ TermEvalInfos()

void TermEvalInfos ( TArray< FMorphTargetInfo > &  EvalInfos)

Release any state for the morphs being evaluated

◆ UpdateMorphedVertex()

template<typename VertexType >
FORCEINLINE void UpdateMorphedVertex ( VertexType MorphedVertex,
const VertexType SrcVertex,
int32  CurBaseVertIdx,
int32  LODIndex,
TArray< FMorphTargetInfo > &  EvalInfos,
const TArray< float > &  MorphWeights 
)

Blends the source vertex with all the active morph targets.

Variable Documentation

◆ VECTOR_0001

const VectorRegister VECTOR_0001 = DECLARE_VECTOR_REGISTER(0.f, 0.f, 0.f, 1.f)