79 template <
typename IndexRemapType>
82 template <
typename IndexRemapType>
85 template <
typename IndexRemapType>
157 template <
typename IndexRemapType>
#define check(expr)
Definition AssertionMacros.h:314
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
ESceneDepthPriorityGroup
Definition EngineTypes.h:187
#define DECLARE_LOG_CATEGORY_EXTERN(CategoryName, DefaultVerbosity, CompileTimeVerbosity)
Definition LogMacros.h:361
Definition ISMInstanceDataSceneProxy.h:118
TArray< int32 > LegacyInstanceReorderTable
Definition ISMInstanceDataSceneProxy.h:130
bool bLegacyReordered
Definition ISMInstanceDataSceneProxy.h:131
virtual void UpdatePrimitiveTransform(FISMInstanceUpdateChangeSet &&ChangeSet) override
Definition ISMInstanceDataSceneProxy.cpp:604
virtual void BuildFromLegacyData(TUniquePtr< FStaticMeshInstanceData > &&InExternalLegacyData, const FRenderBounds &InstanceLocalBounds, TArray< int32 > &&InLegacyInstanceReorderTable) override
Definition ISMInstanceDataSceneProxy.cpp:508
TUniquePtr< FStaticMeshInstanceData > ExternalLegacyData
Definition ISMInstanceDataSceneProxy.h:134
void UpdateInstancesTransforms(FInstanceSceneDataBuffers::FWriteView &ProxyData, const FStaticMeshInstanceData &LegacyInstanceData)
Definition ISMInstanceDataSceneProxy.cpp:587
Definition ISMInstanceDataSceneProxy.h:142
void ReleaseStaticMeshInstanceBuffer()
Definition ISMInstanceDataSceneProxy.cpp:902
virtual void UpdatePrimitiveTransform(FISMInstanceUpdateChangeSet &&ChangeSet) override
Definition ISMInstanceDataSceneProxy.cpp:887
TUniquePtr< FStaticMeshInstanceBuffer > LegacyInstanceBuffer
Definition ISMInstanceDataSceneProxy.h:165
virtual void BuildFromLegacyData(TUniquePtr< FStaticMeshInstanceData > &&ExternalLegacyData, const FRenderBounds &InstanceLocalBounds, TArray< int32 > &&InLegacyInstanceReorderTable) override
Definition ISMInstanceDataSceneProxy.cpp:864
virtual ENGINE_API FStaticMeshInstanceBuffer * GetLegacyInstanceBuffer() override
Definition ISMInstanceDataSceneProxy.cpp:750
~FISMCInstanceDataSceneProxyNoGPUScene()
Definition ISMInstanceDataSceneProxy.cpp:628
void ApplyDataChanges(FISMInstanceUpdateChangeSet &ChangeSet, const IndexRemapType &IndexRemap, int32 PostUpdateNumInstances, FInstanceSceneDataBuffers::FWriteView &ProxyData, FStaticMeshInstanceData &LegacyInstanceData)
Definition ISMInstanceDataSceneProxy.cpp:634
Definition ISMInstanceDataSceneProxy.h:39
void BuildFromOptimizedDataBuffers(FISMInstanceUpdateChangeSet &ChangeSet, FInstanceIdIndexMap &OutInstanceIdIndexMap, FInstanceSceneDataBuffers::FWriteView &OutData)
Definition ISMInstanceDataSceneProxy.cpp:181
void ApplyDataChanges(FISMInstanceUpdateChangeSet &ChangeSet, const IndexRemapType &IndexRemap, int32 PostUpdateNumInstances, FInstanceSceneDataBuffers::FWriteView &ProxyData)
Definition ISMInstanceDataSceneProxy.cpp:149
virtual void UpdatePrimitiveTransform(FISMInstanceUpdateChangeSet &&ChangeSet)
Definition ISMInstanceDataSceneProxy.h:58
virtual void BuildFromLegacyData(TUniquePtr< FStaticMeshInstanceData > &&ExternalLegacyData, const FRenderBounds &InstanceLocalBounds, TArray< int32 > &&InLegacyInstanceReorderTable)
Definition ISMInstanceDataSceneProxy.h:53
FISMPrecomputedSpatialHashDataPtr PrecomputedOptimizationData
Definition ISMInstanceDataSceneProxy.h:111
TBitArray ValidInstanceIdMask
Definition ISMInstanceDataSceneProxy.h:96
void ApplyAttributeChanges(FISMInstanceUpdateChangeSet &ChangeSet, const IndexRemapType &IndexRemap, FInstanceSceneDataBuffers::FWriteView &ProxyData)
Definition ISMInstanceDataSceneProxy.cpp:96
bool bUseLegacyRenderingPath
Definition ISMInstanceDataSceneProxy.h:92
FInstanceIdIndexMap InstanceIdIndexMap
Definition ISMInstanceDataSceneProxy.h:97
FInstanceDataUpdateTaskInfo InstanceDataUpdateTaskInfo
Definition ISMInstanceDataSceneProxy.h:99
bool CheckPlatformFeatureLevel(FStaticShaderPlatform InShaderPlatform, ERHIFeatureLevel::Type InFeatureLevel)
Definition ISMInstanceDataSceneProxy.h:63
static ENGINE_API FVector3f GetLocalBoundsPadExtent(const FRenderTransform &LocalToWorld, float PadAmount)
Definition ISMInstanceDataSceneProxy.cpp:81
void UpdateIdMapping(FISMInstanceUpdateChangeSet &ChangeSet, const IndexRemapType &IndexRemap)
Definition ISMInstanceDataSceneProxy.cpp:327
const FInstanceSceneDataBuffers & GetData() const
Definition ISMInstanceDataSceneProxy.h:43
virtual FInstanceDataUpdateTaskInfo * GetUpdateTaskInfo()
Definition ISMInstanceDataSceneProxy.h:65
bool bBuildOptimized
Definition ISMInstanceDataSceneProxy.h:103
ERHIFeatureLevel::Type FeatureLevel
Definition ISMInstanceDataSceneProxy.h:91
FStaticShaderPlatform ShaderPlatform
Definition ISMInstanceDataSceneProxy.h:90
bool bIsNew
Definition ISMInstanceDataSceneProxy.h:101
void TestAndApplyInstanceBufferSizeFixup(int32 PostUpdateNumInstances)
Definition ISMInstanceDataSceneProxy.cpp:236
ENGINE_API void DebugDrawInstanceChanges(FPrimitiveDrawInterface *DebugPDI, ESceneDepthPriorityGroup SceneDepthPriorityGroup)
Definition ISMInstanceDataSceneProxy.cpp:388
Definition ISMInstanceUpdateChangeSet.h:13
Definition InstanceDataSceneProxy.h:448
FInstanceSceneDataBuffers InstanceSceneDataBuffers
Definition InstanceDataSceneProxy.h:472
Definition InstanceDataSceneProxy.h:425
Definition InstanceDataSceneProxy.h:15
Definition InstanceDataSceneProxy.h:135
Definition PrimitiveDrawInterface.h:19
Definition ISMInstanceDataManager.h:45
Definition InstancedStaticMesh.h:71
Definition StaticMeshResources.h:1031
Definition HitProxies.h:135
Definition UniquePtr.h:107
Type
Definition RHIFeatureLevel.h:20
Definition ISMInstanceDataSceneProxy.h:22
TArray< FInstanceSceneDataBuffers::FCompressedSpatialHashItem > Hashes
Definition ISMInstanceDataSceneProxy.h:23
TArray< int32 > ProxyIndexToComponentIndexRemap
Definition ISMInstanceDataSceneProxy.h:24
Definition InstanceDataSceneProxy.h:222
Definition RenderTransform.h:272