UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SkinnedMeshStateStreamImpl.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
6#include "SceneTypes.h"
9
10#define UE_API RENDERER_API
11
12class FSceneInterface;
15
16#define UE_DEBUG_OFFSET_SKINNED_MESH 0 // For debugging purposes
17
19
20class FSkinnedMeshObject : public TRefCountingMixin<FSkinnedMeshObject>, public FTransformObjectListener
21{
22public:
23
24private:
25 virtual ~FSkinnedMeshObject();
26 virtual void OnTransformObjectDirty() override final;
27
28 TRefCountPtr<FTransformObject> TransformObject;
29 USkinnedAsset* SkinnedAsset;
30 FSkeletalMeshObject* MeshObject;
31
32 FCustomPrimitiveData CustomPrimitiveData;
33 FPrimitiveSceneInfoData PrimitiveSceneData;
34 FPrimitiveSceneDesc PrimitiveSceneDesc;
35 TArray<FTransform> PrevTransforms;
36 uint32 BoneTransformRevisionNumber = 0;
37
38 #if UE_DEBUG_OFFSET_SKINNED_MESH
40 #endif
41
44};
45
46
48
49struct FSkinnedMeshStateStreamSettings : TStateStreamSettings<ISkinnedMeshStateStream, FSkinnedMeshObject>
50{
51 static inline constexpr bool SkipCreatingDeletes = true;
52};
53
54
56
57class FSkinnedMeshStateStreamImpl : public TStateStream<FSkinnedMeshStateStreamSettings>
58{
59public:
61private:
62 void SetTransformObject(FSkinnedMeshObject& Object, const FSkinnedMeshDynamicState& Ds);
63 UE_API virtual void Render_OnCreate(const FSkinnedMeshStaticState& Ss, const FSkinnedMeshDynamicState& Ds, FSkinnedMeshObject*& UserData, bool IsDestroyedInSameFrame) override;
64 UE_API virtual void Render_OnUpdate(const FSkinnedMeshStaticState& Ss, const FSkinnedMeshDynamicState& Ds, FSkinnedMeshObject*& UserData) override;
65 UE_API virtual void Render_OnDestroy(const FSkinnedMeshStaticState& Ss, const FSkinnedMeshDynamicState& Ds, FSkinnedMeshObject*& UserData) override;
66
67 FSceneInterface& Scene;
68};
69
71
72#undef UE_API
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define UE_API
Definition SkinnedMeshStateStreamImpl.h:10
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition SceneInterface.h:106
Definition SkeletalRenderPublic.h:85
Definition SkinnedMeshStateStreamImpl.h:21
Definition SkinnedMeshStateStreamImpl.h:58
Definition TransformStateStreamImpl.h:16
Definition Array.h:670
Definition RefCounting.h:454
Definition RefCounting.h:355
Definition GenericStateStream.h:35
Definition SkinnedAsset.h:47
Definition SceneTypes.h:30
Definition PrimitiveSceneDesc.h:26
Definition PrimitiveSceneInfoData.h:16
Definition SkinnedMeshStateStream.h:32
Definition SkinnedMeshStateStreamImpl.h:50
static constexpr bool SkipCreatingDeletes
Definition SkinnedMeshStateStreamImpl.h:51
Definition SkinnedMeshStateStream.h:19
Definition GenericStateStream.h:18