Navigation
API > API/Runtime > API/Runtime/Engine
Inheritance Hierarchy
- FDeferredCleanupInterface
- FSkeletalMeshObject
References
| Module | Engine |
| Header | /Engine/Source/Runtime/Engine/Public/SkeletalRenderPublic.h |
| Include | #include "SkeletalRenderPublic.h" |
Syntax
class FSkeletalMeshObject : public FDeferredCleanupInterface
Remarks
Interface for mesh rendering data
Variables
| Type | Name | Description | |
|---|---|---|---|
| bool | bHasBeenUpdatedAtLeastOnce | This is set to true when we have sent our Mesh data to the rendering thread at least once as it needs to have have a datastructure created there for each MeshObject | |
| bool | bUsePerBoneMotionBlur | If true, per-bone motion blur is enabled for this object. | |
| uint32 | ComponentId | Component ID to which belong this mesh object | |
| FName | DebugName | ||
| ERHIFeatureLevel::Type | FeatureLevel | Feature level to render for. | |
| uint32 | LastFrameNumber | Used to keep track of the first call to UpdateMinDesiredLODLevel each frame. | |
| TArray< FSkelMeshObjectLODInfo > | LODInfo | ||
| int32 | MaterialIndexPreview | ||
| float | MaxDistanceFactor | High (best) DistanceFactor that was desired for rendering this SkeletalMesh last frame. | |
| int32 | MinDesiredLODLevel | Lowest (best) LOD that was desired for rendering this SkeletalMesh last frame. | |
| int32 | SectionIndexPreview | Index of the section to preview... | |
| int32 | SelectedEditorMaterial | The Material currently selected. need to remember this index for reimporting cloth | |
| int32 | SelectedEditorSection | The section currently selected in the Editor. Used for highlighting | |
| TArray< FCapsuleShape3f > | ShadowCapsuleShapes | ||
| TArray< FSkeletalMeshLODInfo > | SkeletalMeshLODInfo | Per-LOD info. | |
| FSkeletalMeshRenderData * | SkeletalMeshRenderData | The skeletal mesh resource with which to render. | |
| FGPUSkinCacheEntry * | SkinCacheEntry | ||
| FGPUSkinCacheEntry * | SkinCacheEntryForRayTracing | ||
| TStatId | StatId | Used for dynamic stats | |
| float | WorkingMaxDistanceFactor | This frames max distance factor. | |
| int32 | WorkingMinDesiredLODLevel | This frames min desired LOD level. | |
| FVector | WorldScale |
Constructors
| Type | Name | Description | |
|---|---|---|---|
FSkeletalMeshObject
(
USkinnedMeshComponent* InMeshComponent, |
Destructors
| Type | Name | Description | |
|---|---|---|---|
Functions
| Type | Name | Description | |
|---|---|---|---|
| void | CacheVertices
(
int32 LODIndex, |
Re-skin cached vertices for an LOD and update the vertex buffer. | |
| void | DrawVertexElements
(
FPrimitiveDrawInterface* PDI, |
Draw Normals/Tangents based on skinned vertex data | |
| void | EnableOverlayRendering
(
bool bEnabled, |
Enable blend weight rendering in the editor | |
| FName | GetAssetPathName
(
int32 LODIndex |
Helper function to return the asset path name, optionally joined with the LOD index if LODIndex > -1. | |
| bool | GetCachedGeometry
(
FCachedGeometry& OutCachedGeometry |
If we are caching geometry deformation through skin-cache/mesh-deformers or other, then this returns the currently cached geoemtry. | |
| FColorVertexBuffer * | GetColorVertexBuffer
(
FSkeletalMeshLODRenderData& LODData, |
Get the color buffer either from the component LOD info or the skeletal mesh LOD render data | |
| uint32 | Return the ID of the component to which the skeletal mesh object belongs to. | ||
| TArray< FTransform > * | Get the array of component-space bone transforms. | ||
| FName | GetDebugName () |
||
| ERHIFeatureLevel::Type | Returns the feature level this FSkeletalMeshObject was created with | ||
| int32 | GetLOD () |
Get the LOD to render this mesh at. | |
| const TArray< FMatrix44f > & | Get the array of refpose->local matrices Not safe to hold this reference between frames, because it exists in dynamic data passed from main thread. | ||
| const TArray< FSkelMeshRenderSection > & | GetRenderSections
(
int32 InLODIndex |
List of sections to be rendered based on instance weight usage. | |
| void | GetResourceSizeEx
(
FResourceSizeEx& CumulativeResourceSize |
Returns the size of memory allocated by render data | |
| float | GetScreenSize
(
int32 LODIndex |
Returns the display factor for the given LOD level | |
| FSkeletalMeshRenderData & | Get the skeletal mesh resource for which this mesh object was created. | ||
| FColor | GetSkinCacheVisualizationDebugColor
(
const FName& GPUSkinCacheVisualizationMode, |
||
| const FVertexFactory * | GetSkinVertexFactory
(
const FSceneView* View, |
||
| FSkinWeightVertexBuffer * | GetSkinWeightVertexBuffer
(
FSkeletalMeshLODRenderData& LODData, |
Get the weight buffer either from the component LOD info or the skeletal mesh LOD render data | |
| TStatId | GetStatId () |
||
| const FSkinBatchVertexFactoryUserData * | GetVertexFactoryUserData
(
const int32 LODIndex, |
||
| bool | Return true if this does have valid dynamic data to render | ||
| void | InitLODInfos
(
const USkinnedMeshComponent* InMeshComponent |
Initialize the array of LODInfo based on the settings of the current skel mesh component | |
| void | InitResources
(
USkinnedMeshComponent* InMeshComponent |
Initialize rendering resources for each LOD | |
| bool | IsCPUSkinned () |
Returns true if this mesh performs skinning on the CPU. | |
| bool | IsMaterialHidden
(
int32 InLODIndex, |
Determine if the material section entry for an LOD is hidden or not | |
| void | PreGDMECallback
(
FGPUSkinCache* GPUSkinCache, |
Called by FSkeletalMeshObject prior to GDME. | |
| void | RefreshClothingTransforms
(
const FMatrix& InNewLocalToWorld, |
Called to notify clothing data that component transform has changed | |
| void | Release rendering resources for each LOD | ||
| void | SetHiddenMaterials
(
int32 InLODIndex, |
Update the hidden material section flags for an LOD entry | |
| void | SetTransform
(
const FMatrix& InNewLocalToWorld, |
Called when that component transform has changed | |
| bool | |||
| void | Update
(
int32 LODIndex, |
Called by the game thread for any dynamic data updates for this skel mesh object | |
| void | UpdateMinDesiredLODLevel
(
const FSceneView* View, |
Given a set of views, update the MinDesiredLODLevel member to indicate the minimum (ie best) LOD we would like to use to render this mesh. | |
| void | UpdateSkinWeightBuffer
(
USkinnedMeshComponent* InMeshComponent |
Will force re-evaluating which Skin Weight buffer should be used for skinning, determined by checking for any override weights or a skin weight profile being set. |
Classes
| Type | Name | Description | |
|---|---|---|---|
| FSkelMeshObjectLODInfo | Setup for rendering a specific LOD entry of the component |