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

#include <ISMInstanceUpdateChangeSet.h>

+ Inheritance diagram for FISMInstanceUpdateChangeSet:

Public Member Functions

FInstanceAttributeTracker::FDeltaRange< FInstanceAttributeTracker::EFlag::CustomDataChangedGetCustomDataDelta () const
 
FIdentityDeltaRange GetInstanceLightShadowUVBiasDelta () const
 
void AddInstanceLightShadowUVBias (const FVector4f &Value)
 
ENGINE_API void SetInstanceTransforms (TStridedView< FMatrix > InInstanceTransforms, const FVector Offset)
 
ENGINE_API void SetInstanceTransforms (TStridedView< FMatrix > InInstanceTransforms)
 
ENGINE_API void SetInstanceTransforms (TStridedView< FMatrix > InInstanceTransforms, FBox const &InInstanceBounds, FBox &OutGatheredBounds)
 
ENGINE_API void SetInstancePrevTransforms (TArrayView< FMatrix > InPrevInstanceTransforms, const FVector &Offset)
 
ENGINE_API void SetInstancePrevTransforms (TArrayView< FMatrix > InPrevInstanceTransforms)
 
ENGINE_API void SetCustomData (const TArrayView< const float > &InPerInstanceCustomData, int32 InNumCustomDataFloats)
 
void SetInstanceLocalBounds (const FRenderBounds &Bounds)
 
 FInstanceUpdateChangeSet (int32 InNumSourceInstances, FInstanceDataFlags InFlags)
 
 FInstanceUpdateChangeSet (bool bInNeedFullUpdate, FInstanceAttributeTracker &&InInstanceAttributeTracker, int32 InNumSourceInstances)
 
- Public Member Functions inherited from FInstanceUpdateChangeSet
 FInstanceUpdateChangeSet (int32 InNumSourceInstances, FInstanceDataFlags InFlags)
 
 FInstanceUpdateChangeSet (bool bInNeedFullUpdate, FInstanceAttributeTracker &&InInstanceAttributeTracker, int32 InNumSourceInstances)
 
template<FInstanceAttributeTracker::EFlag Flag>
FInstanceAttributeTracker::FDeltaRange< Flag > GetDelta (bool bForceEmpty, bool bForceFull=false) const
 
FInstanceAttributeTracker::FDeltaRange< FInstanceAttributeTracker::EFlag::TransformChangedGetTransformDelta () const
 
FInstanceAttributeTracker::FDeltaRange< FInstanceAttributeTracker::EFlag::IndexChangedGetIndexChangedDelta () const
 
template<FInstanceAttributeTracker::EFlag DeltaFlag, typename ElementType >
TDeltaSetup< ElementType, FInstanceAttributeTracker::FDeltaRange< DeltaFlag > > GetSetup (bool bEnabledFlag, bool bForceFullFlag, TArray< ElementType > &DataArray, int32 ElementStride=1)
 
template<typename ElementType >
TDeltaSetup< ElementType, FIdentityDeltaRangeGetSetup (bool bEnabledFlag, TArray< ElementType > &DataArray, int32 ElementStride=1)
 
auto GetTransformSetup ()
 
auto GetPrevTransformSetup ()
 
auto GetCustomDataSetup ()
 
auto GetLocalBoundsSetup ()
 
auto GetSkinningDataSetup ()
 
auto GetTransformWriter ()
 
auto GetPrevTransformWriter ()
 
auto GetCustomDataWriter ()
 
auto GetLocalBoundsWriter ()
 
auto GetSkinningDataWriter ()
 
auto GetTransformReader ()
 
auto GetPrevTransformReader ()
 
auto GetCustomDataReader ()
 
auto GetLocalBoundsReader ()
 
auto GetSkinningDataReader ()
 
auto GetLightShadowUVBiasReader ()
 
ENGINE_API void SetSharedLocalBounds (const FRenderBounds &Bounds)
 
bool IsFullUpdate () const
 

Public Attributes

TArray< int32LegacyInstanceReorderTable
 
int32 PostUpdateNumInstances = 0
 
- Public Attributes inherited from FInstanceUpdateChangeSet
FInstanceAttributeTracker InstanceAttributeTracker
 
bool bNeedFullUpdate = false
 
FInstanceDataFlags Flags
 
FInstanceDataFlags ForceFullFlags
 
bool bUpdateAllInstanceTransforms = false
 
bool bIdentityIdMap = false
 
TArray< FPrimitiveInstanceIdIndexToIdMapDeltaData
 
int32 NumCustomDataFloats = 0
 
TArray< FRenderTransformTransforms
 
TArray< FRenderTransformPrevTransforms
 
TArray< floatPerInstanceCustomData
 
TArray< uint32InstanceSkinningData
 
TArray< FVector4fInstanceLightShadowUVBias
 
TArray< FRenderBoundsInstanceLocalBounds
 
TFunction< void(TArray< float > &InstanceRandomIDs)> GeneratePerInstanceRandomIds
 
FRenderTransform PrimitiveToRelativeWorld
 
FVector PrimitiveWorldSpaceOffset
 
TOptional< FRenderTransformPreviousPrimitiveToRelativeWorld
 
float AbsMaxDisplacement = 0.0f
 
int32 NumSourceInstances = 0
 
int32 MaxInstanceId = 0
 
FPrecomputedInstanceSpatialHashDataPtr PrecomputedOptimizationData
 

Detailed Description

Extends the change set with ISM specifics.

Member Function Documentation

◆ AddInstanceLightShadowUVBias()

void FISMInstanceUpdateChangeSet::AddInstanceLightShadowUVBias ( const FVector4f Value)
inline

Add a value, must be done in the order represented in the InstanceLightShadowUVBiasDelta.

◆ FInstanceUpdateChangeSet() [1/2]

FInstanceUpdateChangeSet::FInstanceUpdateChangeSet ( bool  bInNeedFullUpdate,
FInstanceAttributeTracker &&  InInstanceAttributeTracker,
int32  InNumSourceInstances 
)
inline

Construct a delta change set, but which can be forced to full using bInNeedFullUpdate.

◆ FInstanceUpdateChangeSet() [2/2]

FInstanceUpdateChangeSet::FInstanceUpdateChangeSet ( int32  InNumSourceInstances,
FInstanceDataFlags  InFlags 
)
inline

Construct a full change set, with no delta (which will collect all enabled data).

◆ GetCustomDataDelta()

FInstanceAttributeTracker::FDeltaRange< FInstanceAttributeTracker::EFlag::CustomDataChanged > FISMInstanceUpdateChangeSet::GetCustomDataDelta ( ) const
inline

◆ GetInstanceLightShadowUVBiasDelta()

FIdentityDeltaRange FISMInstanceUpdateChangeSet::GetInstanceLightShadowUVBiasDelta ( ) const
inline

◆ SetCustomData()

void FISMInstanceUpdateChangeSet::SetCustomData ( const TArrayView< const float > &  InPerInstanceCustomData,
int32  InNumCustomDataFloats 
)

◆ SetInstanceLocalBounds()

void FISMInstanceUpdateChangeSet::SetInstanceLocalBounds ( const FRenderBounds Bounds)
inline

◆ SetInstancePrevTransforms() [1/2]

void FISMInstanceUpdateChangeSet::SetInstancePrevTransforms ( TArrayView< FMatrix InPrevInstanceTransforms)

◆ SetInstancePrevTransforms() [2/2]

void FISMInstanceUpdateChangeSet::SetInstancePrevTransforms ( TArrayView< FMatrix InPrevInstanceTransforms,
const FVector Offset 
)

◆ SetInstanceTransforms() [1/3]

void FISMInstanceUpdateChangeSet::SetInstanceTransforms ( TStridedView< FMatrix InInstanceTransforms)

◆ SetInstanceTransforms() [2/3]

void FISMInstanceUpdateChangeSet::SetInstanceTransforms ( TStridedView< FMatrix InInstanceTransforms,
const FVector  Offset 
)

◆ SetInstanceTransforms() [3/3]

void FISMInstanceUpdateChangeSet::SetInstanceTransforms ( TStridedView< FMatrix InInstanceTransforms,
FBox const &  InInstanceBounds,
FBox OutGatheredBounds 
)

This version produces the bounds of the gathered transforms as a side-effect.

Member Data Documentation

◆ LegacyInstanceReorderTable

TArray<int32> FISMInstanceUpdateChangeSet::LegacyInstanceReorderTable

◆ PostUpdateNumInstances

int32 FISMInstanceUpdateChangeSet::PostUpdateNumInstances = 0

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