UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FISMCInstanceDataSceneProxyLegacyReordered Class Reference

#include <ISMInstanceDataSceneProxy.h>

+ Inheritance diagram for FISMCInstanceDataSceneProxyLegacyReordered:

Public Member Functions

 FISMCInstanceDataSceneProxyLegacyReordered (FStaticShaderPlatform InShaderPlatform, ERHIFeatureLevel::Type InFeatureLevel, bool bInLegacyReordered)
 
virtual void Update (FISMInstanceUpdateChangeSet &&ChangeSet) override
 
virtual void Build (FISMInstanceUpdateChangeSet &&ChangeSet) override
 
virtual void BuildFromLegacyData (TUniquePtr< FStaticMeshInstanceData > &&InExternalLegacyData, const FRenderBounds &InstanceLocalBounds, TArray< int32 > &&InLegacyInstanceReorderTable) override
 
virtual void UpdatePrimitiveTransform (FISMInstanceUpdateChangeSet &&ChangeSet) override
 
- Public Member Functions inherited from FISMCInstanceDataSceneProxy
 FISMCInstanceDataSceneProxy (FStaticShaderPlatform InShaderPlatform, ERHIFeatureLevel::Type InFeatureLevel)
 
const FInstanceSceneDataBuffersGetData () const
 
bool CheckPlatformFeatureLevel (FStaticShaderPlatform InShaderPlatform, ERHIFeatureLevel::Type InFeatureLevel)
 
virtual FInstanceDataUpdateTaskInfoGetUpdateTaskInfo ()
 
ENGINE_API void DebugDrawInstanceChanges (FPrimitiveDrawInterface *DebugPDI, ESceneDepthPriorityGroup SceneDepthPriorityGroup)
 
- Public Member Functions inherited from FInstanceDataSceneProxy
ENGINE_API FInstanceDataSceneProxy ()
 
ENGINE_API FInstanceDataSceneProxy (FInstanceSceneDataBuffers &&InInstanceSceneDataBuffers)
 
virtual ENGINE_API ~FInstanceDataSceneProxy ()
 
virtual const FInstanceSceneDataBuffersGeInstanceSceneDataBuffers () const
 
virtual FStaticMeshInstanceBufferGetLegacyInstanceBuffer ()
 

Protected Member Functions

void UpdateInstancesTransforms (FInstanceSceneDataBuffers::FWriteView &ProxyData, const FStaticMeshInstanceData &LegacyInstanceData)
 
- Protected Member Functions inherited from FISMCInstanceDataSceneProxy
void BuildFromOptimizedDataBuffers (FISMInstanceUpdateChangeSet &ChangeSet, FInstanceIdIndexMap &OutInstanceIdIndexMap, FInstanceSceneDataBuffers::FWriteView &OutData)
 
template<typename IndexRemapType >
void UpdateIdMapping (FISMInstanceUpdateChangeSet &ChangeSet, const IndexRemapType &IndexRemap)
 
template<typename IndexRemapType >
void ApplyDataChanges (FISMInstanceUpdateChangeSet &ChangeSet, const IndexRemapType &IndexRemap, int32 PostUpdateNumInstances, FInstanceSceneDataBuffers::FWriteView &ProxyData)
 
template<typename IndexRemapType >
void ApplyAttributeChanges (FISMInstanceUpdateChangeSet &ChangeSet, const IndexRemapType &IndexRemap, FInstanceSceneDataBuffers::FWriteView &ProxyData)
 
void TestAndApplyInstanceBufferSizeFixup (int32 PostUpdateNumInstances)
 
- Protected Member Functions inherited from FInstanceDataSceneProxy
ENGINE_API void IncStatCounters ()
 
ENGINE_API void DecStatCounters ()
 

Protected Attributes

TArray< int32LegacyInstanceReorderTable
 
bool bLegacyReordered = false
 
TUniquePtr< FStaticMeshInstanceDataExternalLegacyData
 
- Protected Attributes inherited from FISMCInstanceDataSceneProxy
FStaticShaderPlatform ShaderPlatform
 
ERHIFeatureLevel::Type FeatureLevel
 
bool bUseLegacyRenderingPath = false
 
TBitArray ValidInstanceIdMask
 
FInstanceIdIndexMap InstanceIdIndexMap
 
FInstanceDataUpdateTaskInfo InstanceDataUpdateTaskInfo
 
bool bIsNew = true
 
bool bBuildOptimized = false
 
FISMPrecomputedSpatialHashDataPtr PrecomputedOptimizationData
 
- Protected Attributes inherited from FInstanceDataSceneProxy
FInstanceSceneDataBuffers InstanceSceneDataBuffers
 

Additional Inherited Members

- Public Types inherited from FISMCInstanceDataSceneProxy
using FISMPrecomputedSpatialHashDataPtr = TSharedPtr< const FISMPrecomputedSpatialHashData, ESPMode::ThreadSafe >
 
- Static Public Member Functions inherited from FISMCInstanceDataSceneProxy
static ENGINE_API FVector3f GetLocalBoundsPadExtent (const FRenderTransform &LocalToWorld, float PadAmount)
 

Detailed Description

Proxy that supports legacy reordered (HISM) data management.

Constructor & Destructor Documentation

◆ FISMCInstanceDataSceneProxyLegacyReordered()

FISMCInstanceDataSceneProxyLegacyReordered::FISMCInstanceDataSceneProxyLegacyReordered ( FStaticShaderPlatform  InShaderPlatform,
ERHIFeatureLevel::Type  InFeatureLevel,
bool  bInLegacyReordered 
)

Member Function Documentation

◆ Build()

void FISMCInstanceDataSceneProxyLegacyReordered::Build ( FISMInstanceUpdateChangeSet &&  ChangeSet)
overridevirtual

◆ BuildFromLegacyData()

void FISMCInstanceDataSceneProxyLegacyReordered::BuildFromLegacyData ( TUniquePtr< FStaticMeshInstanceData > &&  InExternalLegacyData,
const FRenderBounds InstanceLocalBounds,
TArray< int32 > &&  InLegacyInstanceReorderTable 
)
overridevirtual

◆ Update()

void FISMCInstanceDataSceneProxyLegacyReordered::Update ( FISMInstanceUpdateChangeSet &&  ChangeSet)
overridevirtual

Overridable functions to update / build proxy data from a change set.

Reimplemented from FISMCInstanceDataSceneProxy.

Reimplemented in FISMCInstanceDataSceneProxyNoGPUScene.

◆ UpdateInstancesTransforms()

void FISMCInstanceDataSceneProxyLegacyReordered::UpdateInstancesTransforms ( FInstanceSceneDataBuffers::FWriteView ProxyData,
const FStaticMeshInstanceData LegacyInstanceData 
)
protected

◆ UpdatePrimitiveTransform()

void FISMCInstanceDataSceneProxyLegacyReordered::UpdatePrimitiveTransform ( FISMInstanceUpdateChangeSet &&  ChangeSet)
overridevirtual

Handle only updating the primitive transform, could make use of special cases such as translation only if implemented properly.

Reimplemented from FISMCInstanceDataSceneProxy.

Reimplemented in FISMCInstanceDataSceneProxyNoGPUScene.

Member Data Documentation

◆ bLegacyReordered

bool FISMCInstanceDataSceneProxyLegacyReordered::bLegacyReordered = false
protected

◆ ExternalLegacyData

TUniquePtr<FStaticMeshInstanceData> FISMCInstanceDataSceneProxyLegacyReordered::ExternalLegacyData
protected

◆ LegacyInstanceReorderTable

TArray<int32> FISMCInstanceDataSceneProxyLegacyReordered::LegacyInstanceReorderTable
protected

The documentation for this class was generated from the following files: