13#include "SceneDefinitions.h"
15#define INVALID_LAST_UPDATE_FRAME 0xFFFFFFFFu
74 static constexpr uint32 CompressedTransformDataStrideInFloat4s = 3;
75 static constexpr uint32 UnCompressedTransformDataStrideInFloat4s = 4;
99 bool bIsVisible =
true
112 bool bIsVisible =
true
131 if (RotDeterminant < 0.0f)
141 if (!bIsVisible || RotDeterminant == 0.0f)
146 checkSlow((PrimitiveId & 0x000FFFFF) == PrimitiveId);
147 checkSlow((InstanceFlags & 0x00000FFF) == InstanceFlags);
156 Data[0].Z = *(
const float*)&LastUpdateFrame;
#define checkSlow(expr)
Definition AssertionMacros.h:332
@ NoInit
Definition CoreMiscDefines.h:158
@ InPlace
Definition CoreMiscDefines.h:162
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition StaticArray.h:26
Definition InstanceUniformShaderParameters.h:44
FRenderTransform ComputePrevLocalToWorld(const FRenderTransform &PrevPrimitiveToWorld) const
Definition InstanceUniformShaderParameters.h:49
FRenderTransform PrevLocalToPrimitive
Definition InstanceUniformShaderParameters.h:45
Definition InstanceUniformShaderParameters.h:18
FRenderTransform LocalToPrimitive
Definition InstanceUniformShaderParameters.h:19
FRenderTransform ComputeLocalToWorld(const FRenderTransform &PrimitiveToWorld) const
Definition InstanceUniformShaderParameters.h:23
Definition InstanceUniformShaderParameters.h:70
static ENGINE_API bool SupportsCompressedTransforms()
Definition InstanceUniformShaderParameters.cpp:8
static ENGINE_API uint32 GetDataStrideInFloat4s()
Definition InstanceUniformShaderParameters.cpp:13
FInstanceSceneShaderData()
Definition InstanceUniformShaderParameters.h:87
void BuildInternal(uint32 PrimitiveId, uint32 RelativeId, uint32 InstanceFlags, uint32 LastUpdateFrame, uint32 CustomDataCount, float RandomID, const FRenderTransform &LocalToWorld, bool bIsVisible, bool bSupportsCompressedTransforms)
Definition InstanceUniformShaderParameters.h:116
TStaticArray< FVector4f, UnCompressedTransformDataStrideInFloat4s > Data
Definition InstanceUniformShaderParameters.h:172
static uint32 GetEffectiveNumBytes()
Definition InstanceUniformShaderParameters.h:82