![]() |
UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
|
#include <ISMInstanceDataSceneProxy.h>
Inheritance diagram for FISMCInstanceDataSceneProxy:Public Types | |
| using | FISMPrecomputedSpatialHashDataPtr = TSharedPtr< const FISMPrecomputedSpatialHashData, ESPMode::ThreadSafe > |
Static Public Member Functions | |
| static ENGINE_API FVector3f | GetLocalBoundsPadExtent (const FRenderTransform &LocalToWorld, float PadAmount) |
Protected Member Functions | |
| 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 () |
Friends | |
| class | FPrimitiveInstanceDataManager |
Proxy class that represents scene instance data to the renderer. Responsible for preparing data for render use per-platform & serializing such data for cooked builds. Supplies a persistent ID mapping for use in FScene. The ID mapping is reset when the proxy is recreated. Thus the FScene will generate full remove/add handling for proxy recreate events. Not responsible for storing the component representation of the instance data.
TODO: Add concept of async update and needing to sync the proxy before use. Probably split between immutable data (e.g, flags and stuff that don't depend on a data conversion process) and the bulk of the data. The immutable part is always valid & up to date on the RT (set in command, or before it is added).
| using FISMCInstanceDataSceneProxy::FISMPrecomputedSpatialHashDataPtr = TSharedPtr<const FISMPrecomputedSpatialHashData, ESPMode::ThreadSafe> |
| FISMCInstanceDataSceneProxy::FISMCInstanceDataSceneProxy | ( | FStaticShaderPlatform | InShaderPlatform, |
| ERHIFeatureLevel::Type | InFeatureLevel | ||
| ) |
|
protected |
|
protected |
|
virtual |
Reimplemented in FISMCInstanceDataSceneProxyLegacyReordered, and FISMCInstanceDataSceneProxyNoGPUScene.
|
inlinevirtual |
Reimplemented in FISMCInstanceDataSceneProxyNoGPUScene, and FISMCInstanceDataSceneProxyLegacyReordered.
|
protected |
Build an optimized instance buffer, where the order is sorted such that instances with the same spatial hash are consecutive.
|
inline |
Make sure the shader platform & feature levels match.
|
virtual |
Reimplemented from FInstanceDataSceneProxy.
|
inline |
|
static |
|
inlinevirtual |
Implement to provide syncable task info, if this returns a nullptr it is required that GeInstanceSceneDataBuffers() performs any needed synchronization.
Reimplemented from FInstanceDataSceneProxy.
|
protected |
|
virtual |
Overridable functions to update / build proxy data from a change set.
Reimplemented in FISMCInstanceDataSceneProxyLegacyReordered, and FISMCInstanceDataSceneProxyNoGPUScene.
|
protected |
|
inlinevirtual |
Handle only updating the primitive transform, could make use of special cases such as translation only if implemented properly.
Reimplemented in FISMCInstanceDataSceneProxyLegacyReordered, and FISMCInstanceDataSceneProxyNoGPUScene.
|
friend |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |