UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ScenePrimitiveUpdates.h File Reference

Go to the source code of this file.

Classes

struct  FUpdateTransformCommand
 
struct  FUpdateInstanceCommand
 
struct  FUpdateInstanceFromComputeCommand
 
struct  TSingleValuePrimitiveUpdatePayload< InPayloadDataType, InId, InPrimitiveDirtyFlags >
 
class  FScenePreUpdateChangeSet
 
class  FScenePostUpdateChangeSet
 

Typedefs

using FScenePrimitiveUpdates = TSceneUpdateCommandQueue< FPrimitiveSceneInfo, EPrimitiveUpdateDirtyFlags, EPrimitiveUpdateId >
 
using FPrimitiveUpdateCommand = FScenePrimitiveUpdates::FUpdateCommand
 
template<EPrimitiveUpdateId InId, EPrimitiveUpdateDirtyFlags InDirtyFlags>
using TPrimitiveUpdatePayloadBase = FScenePrimitiveUpdates::TPayloadBase< InId, InDirtyFlags >
 
using FUpdateAttachmentRootData = TSingleValuePrimitiveUpdatePayload< FPrimitiveComponentId, EPrimitiveUpdateId::UpdateAttachmentRoot, EPrimitiveUpdateDirtyFlags::None >
 
using FUpdateCustomPrimitiveData = TSingleValuePrimitiveUpdatePayload< FCustomPrimitiveData, EPrimitiveUpdateId::CustomPrimitiveData, EPrimitiveUpdateDirtyFlags::GPUState >
 
using FUpdateOcclusionBoundsSlacksData = TSingleValuePrimitiveUpdatePayload< float, EPrimitiveUpdateId::OcclusionBoundsSlacks, EPrimitiveUpdateDirtyFlags::None >
 
using FUpdateInstanceCullDistanceData = TSingleValuePrimitiveUpdatePayload< FVector2f, EPrimitiveUpdateId::InstanceCullDistance, EPrimitiveUpdateDirtyFlags::GPUState|EPrimitiveUpdateDirtyFlags::CullingLogic >
 
using FUpdateDrawDistanceData = TSingleValuePrimitiveUpdatePayload< FVector3f, EPrimitiveUpdateId::DrawDistance, EPrimitiveUpdateDirtyFlags::CullingLogic >
 
using FUpdateDistanceFieldSceneData = TPrimitiveUpdatePayloadBase< EPrimitiveUpdateId::DistanceFieldScene, EPrimitiveUpdateDirtyFlags::None >
 
using FUpdateOverridePreviousTransformData = TSingleValuePrimitiveUpdatePayload< FMatrix, EPrimitiveUpdateId::OverridePreviousTransform, EPrimitiveUpdateDirtyFlags::GPUState >
 

Enumerations

enum class  EPrimitiveUpdateDirtyFlags : uint32 {
  None = 0u , Transform = 1u << 0 , InstanceData = 1u << 1 , CullingBounds = 1u << 2 ,
  CullingLogic = 1u << 3 , GPUState = 1u << 4 , AllCulling = CullingBounds | CullingLogic , All = GPUState | Transform | InstanceData | CullingBounds | CullingLogic
}
 
enum class  EPrimitiveUpdateId : uint32 {
  UpdateTransform , UpdateInstance , UpdateAttachmentRoot , CustomPrimitiveData ,
  OcclusionBoundsSlacks , InstanceCullDistance , DrawDistance , DistanceFieldScene ,
  OverridePreviousTransform , UpdateInstanceFromCompute , MAX
}
 

Functions

 ENUM_CLASS_FLAGS (EPrimitiveUpdateDirtyFlags)
 

Typedef Documentation

◆ FPrimitiveUpdateCommand

using FPrimitiveUpdateCommand = FScenePrimitiveUpdates::FUpdateCommand

◆ FScenePrimitiveUpdates

◆ FUpdateAttachmentRootData

◆ FUpdateCustomPrimitiveData

◆ FUpdateDistanceFieldSceneData

◆ FUpdateDrawDistanceData

◆ FUpdateInstanceCullDistanceData

◆ FUpdateOcclusionBoundsSlacksData

◆ FUpdateOverridePreviousTransformData

◆ TPrimitiveUpdatePayloadBase

template<EPrimitiveUpdateId InId, EPrimitiveUpdateDirtyFlags InDirtyFlags>
using TPrimitiveUpdatePayloadBase = FScenePrimitiveUpdates::TPayloadBase<InId, InDirtyFlags>

Enumeration Type Documentation

◆ EPrimitiveUpdateDirtyFlags

Definitions of primitive scene update commands.

Enumerator
None 
Transform 

The Transform is modified by this command.

InstanceData 

The (any) instance data is modified by this command.

CullingBounds 

The culling bounds are modified by this command. This means the bounds (instance, primitive or both) as used in the culling and should not be updated for any other case. Thus, needs to be set for transform updates of all kinds.

CullingLogic 

Culling distances or similar, affecting culling logic, but NOT the bounds.

GPUState 

Any state that either makes its way into GPU-Scene or the per primitive UB

AllCulling 

All culling-affecting changes

All 

◆ EPrimitiveUpdateId

enum class EPrimitiveUpdateId : uint32
strong
Enumerator
UpdateTransform 
UpdateInstance 
UpdateAttachmentRoot 
CustomPrimitiveData 
OcclusionBoundsSlacks 
InstanceCullDistance 
DrawDistance 
DistanceFieldScene 
OverridePreviousTransform 
UpdateInstanceFromCompute 
MAX 

Function Documentation

◆ ENUM_CLASS_FLAGS()

ENUM_CLASS_FLAGS ( EPrimitiveUpdateDirtyFlags  )