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

#include <PrimitiveSceneInfo.h>

+ Inheritance diagram for FPrimitiveSceneInfo:

Public Types

using FPersistentId = FPersistentPrimitiveIndex
 

Public Member Functions

 FPrimitiveSceneInfo (UPrimitiveComponent *InPrimitive, FScene *InScene)
 
 FPrimitiveSceneInfo (FPrimitiveSceneDesc *InPrimitiveSceneDesc, FScene *InScene)
 
 ~FPrimitiveSceneInfo ()
 
void RemoveFromScene (bool bUpdateStaticDrawLists)
 
void FreeGPUSceneInstances ()
 
bool NeedsIndirectLightingCacheBufferUpdate ()
 
void RequestStaticMeshUpdate ()
 
RENDERER_API bool RequestUniformBufferUpdate ()
 
void RemoveStaticMeshes ()
 
void LinkLODParentComponent ()
 
void UnlinkLODParentComponent ()
 
void LinkAttachmentGroup ()
 
void UnlinkAttachmentGroup ()
 
RENDERER_API bool RequestGPUSceneUpdate (EPrimitiveDirtyState PrimitiveDirtyState=EPrimitiveDirtyState::ChangedAll)
 
void MarkGPUStateDirty (EPrimitiveDirtyState PrimitiveDirtyState=EPrimitiveDirtyState::ChangedAll)
 
RENDERER_API void RefreshNaniteRasterBins ()
 
void UpdateOcclusionFlags ()
 
void GatherLightingAttachmentGroupPrimitives (TArray< FPrimitiveSceneInfo *, SceneRenderingAllocator > &OutChildSceneInfos)
 
void GatherLightingAttachmentGroupPrimitives (TArray< const FPrimitiveSceneInfo *, SceneRenderingAllocator > &OutChildSceneInfos) const
 
FBoxSphereBounds GetAttachmentGroupBounds () const
 
uint32 GetMemoryFootprint ()
 
int32 GetIndex () const
 
const int32GetIndexAddress () const
 
bool IsIndexValid () const
 
FPersistentPrimitiveIndex GetPersistentIndex () const
 
void ApplyWorldOffset (FRHICommandListBase &RHICmdList, FVector InOffset)
 
void MarkIndirectLightingCacheBufferDirty ()
 
void UpdateIndirectLightingCacheBuffer (FRHICommandListBase &RHICmdList)
 
RENDERER_API void GetStaticMeshesLODRange (int8 &OutMinLOD, int8 &OutMaxLOD) const
 
RENDERER_API const FMeshBatchGetMeshBatch (int8 InLODIndex) const
 
int32 GetInstanceSceneDataOffset () const
 
int32 GetNumInstanceSceneDataEntries () const
 
int32 GetInstancePayloadDataOffset () const
 
int32 GetInstancePayloadDataStride () const
 
int32 GetLightmapDataOffset () const
 
int32 GetNumLightmapDataEntries () const
 
bool NeedsReflectionCaptureUpdate () const
 
void CacheReflectionCaptures ()
 
void RemoveCachedReflectionCaptures ()
 
void UpdateComponentLastRenderTime (float CurrentWorldTime, bool bUpdateLastRenderTimeOnScreen)
 
RENDERER_API int32 UpdateStaticLightingBuffer ()
 
FPrimitiveRuntimeVirtualTextureLodInfo const & GetRuntimeVirtualTextureLodInfo () const
 
void FlushRuntimeVirtualTexture ()
 
FString GetFullnameForDebuggingOnly () const
 
FString GetOwnerActorNameOrLabelForDebuggingOnly () const
 
bool ShouldCacheShadowAsStatic () const
 
FMeshDrawCommandPrimitiveIdInfo GetMDCIdInfo () const
 
UPrimitiveComponent * GetComponentForDebugOnly () const
 
IPrimitiveComponentGetComponentInterfaceForDebugOnly () const
 
bool HasInstanceDataBuffers () const
 
RENDERER_API const FInstanceSceneDataBuffersGetInstanceSceneDataBuffers () const
 
FInstanceDataBufferHeader GetInstanceDataHeader () const
 
const FPrimitiveSceneInfoDataGetSceneData () const
 
 DECLARE_MULTICAST_DELEGATE (FPrimitiveSceneInfoEvent)
 
- Public Member Functions inherited from FDeferredCleanupInterface
virtual ~FDeferredCleanupInterface ()
 

Static Public Member Functions

static void AddToScene (FScene *Scene, TArrayView< FPrimitiveSceneInfo * > SceneInfos)
 
static void AllocateGPUSceneInstances (FScene *Scene, const TArrayView< FPrimitiveSceneInfo * > &SceneInfos)
 
static void UpdateStaticMeshes (FScene *Scene, TArrayView< FPrimitiveSceneInfo * > SceneInfos, EUpdateStaticMeshFlags UpdateFlags, bool bReAddToDrawLists=true)
 
static void AddStaticMeshes (FRHICommandListBase &RHICmdList, FScene *Scene, TArrayView< FPrimitiveSceneInfo * > SceneInfos, bool bCacheMeshDrawCommands=true)
 

Public Attributes

FPrimitiveSceneProxyProxy
 
FPrimitiveComponentId PrimitiveComponentId
 
FPrimitiveComponentId LightingAttachmentRoot
 
FPrimitiveComponentId LODParentComponentId
 
TArray< class FCachedMeshDrawCommandInfoStaticMeshCommandInfos
 
TArray< class FStaticMeshBatchRelevanceStaticMeshRelevances
 
TArray< class FStaticMeshBatchStaticMeshes
 
TArray< FNaniteRasterBinNaniteRasterBins [ENaniteMeshPass::Num]
 
TArray< FNaniteShadingBinNaniteShadingBins [ENaniteMeshPass::Num]
 
TArray< FNaniteMaterialSlotNaniteMaterialSlots [ENaniteMeshPass::Num]
 
FOctreeElementId2 OctreeId
 
const FIndirectLightingCacheAllocationIndirectLightingCacheAllocation
 
TUniformBufferRef< FIndirectLightingCacheUniformParametersIndirectLightingCacheUniformBuffer
 
const FPlanarReflectionSceneProxyCachedPlanarReflectionProxy
 
const FReflectionCaptureProxyCachedReflectionCaptureProxy
 
TArray< int32, TInlineAllocator< 1 > > DistanceFieldInstanceIndices
 
TArray< int32, TInlineAllocator< 1 > > LumenPrimitiveGroupIndices
 
const FReflectionCaptureProxyCachedReflectionCaptureProxies [MaxCachedReflectionCaptureProxies]
 
TArray< TRefCountPtr< HHitProxy > > HitProxies
 
HHitProxyDefaultDynamicHitProxy
 
FHitProxyId DefaultDynamicHitProxyId
 
float LastRenderTime
 
class FLightPrimitiveInteractionLightList
 
FSceneScene
 
int32 NumMobileDynamicLocalLights
 
float GpuLodInstanceRadius
 
bool bNeedsCachedReflectionCaptureUpdate: 1
 
bool bShouldRenderInMainPass: 1
 
bool bVisibleInRealTimeSkyCapture: 1
 
bool bWritesRuntimeVirtualTexture: 1
 

Static Public Attributes

static const uint32 MaxCachedReflectionCaptureProxies = 3
 
static RENDERER_API FPrimitiveSceneInfoEvent OnGPUSceneInstancesAllocated
 
static RENDERER_API FPrimitiveSceneInfoEvent OnGPUSceneInstancesFreed
 

Friends

class FSceneRenderer
 
struct FViewDebugInfo
 
class FScene
 

Detailed Description

The renderer's internal state for a single UPrimitiveComponent. This has a one to one mapping with FPrimitiveSceneProxy, which is in the engine module.

Member Typedef Documentation

◆ FPersistentId

Constructor & Destructor Documentation

◆ FPrimitiveSceneInfo() [1/2]

FPrimitiveSceneInfo::FPrimitiveSceneInfo ( UPrimitiveComponent *  InPrimitive,
FScene InScene 
)

Initialization constructor.

◆ FPrimitiveSceneInfo() [2/2]

FPrimitiveSceneInfo::FPrimitiveSceneInfo ( FPrimitiveSceneDesc InPrimitiveSceneDesc,
FScene InScene 
)

◆ ~FPrimitiveSceneInfo()

FPrimitiveSceneInfo::~FPrimitiveSceneInfo ( )

Destructor.

Member Function Documentation

◆ AddStaticMeshes()

void FPrimitiveSceneInfo::AddStaticMeshes ( FRHICommandListBase RHICmdList,
FScene Scene,
TArrayView< FPrimitiveSceneInfo * >  SceneInfos,
bool  bCacheMeshDrawCommands = true 
)
static

Adds the primitive's static meshes to the scene.

◆ AddToScene()

void FPrimitiveSceneInfo::AddToScene ( FScene Scene,
TArrayView< FPrimitiveSceneInfo * >  SceneInfos 
)
static

Adds the primitive to the scene.

◆ AllocateGPUSceneInstances()

void FPrimitiveSceneInfo::AllocateGPUSceneInstances ( FScene Scene,
const TArrayView< FPrimitiveSceneInfo * > &  SceneInfos 
)
static

Allocate/Free slots for instance data in GPU-Scene

◆ ApplyWorldOffset()

void FPrimitiveSceneInfo::ApplyWorldOffset ( FRHICommandListBase RHICmdList,
FVector  InOffset 
)

Shifts primitive position and all relevant data by an arbitrary delta. Called on world origin changes

Parameters
InOffset- The delta to shift by

◆ CacheReflectionCaptures()

void FPrimitiveSceneInfo::CacheReflectionCaptures ( )

Cache per-primitive reflection captures used for mobile/forward rendering.

◆ DECLARE_MULTICAST_DELEGATE()

FPrimitiveSceneInfo::DECLARE_MULTICAST_DELEGATE ( FPrimitiveSceneInfoEvent  )

◆ FlushRuntimeVirtualTexture()

void FPrimitiveSceneInfo::FlushRuntimeVirtualTexture ( )

Mark the runtime virtual textures covered by this primitive as dirty.

◆ FreeGPUSceneInstances()

void FPrimitiveSceneInfo::FreeGPUSceneInstances ( )

◆ GatherLightingAttachmentGroupPrimitives() [1/2]

void FPrimitiveSceneInfo::GatherLightingAttachmentGroupPrimitives ( TArray< const FPrimitiveSceneInfo *, SceneRenderingAllocator > &  OutChildSceneInfos) const

◆ GatherLightingAttachmentGroupPrimitives() [2/2]

void FPrimitiveSceneInfo::GatherLightingAttachmentGroupPrimitives ( TArray< FPrimitiveSceneInfo *, SceneRenderingAllocator > &  OutChildSceneInfos)

Builds an array of all primitive scene info's in this primitive's attachment group. This only works on potential parents (!LightingAttachmentRoot.IsValid()) and will include the current primitive in the output array.

◆ GetAttachmentGroupBounds()

FBoxSphereBounds FPrimitiveSceneInfo::GetAttachmentGroupBounds ( ) const

Builds a cumulative bounding box of this primitive and all the primitives in the same attachment group. This only works on potential parents (!LightingAttachmentRoot.IsValid()).

◆ GetComponentForDebugOnly()

UPrimitiveComponent * FPrimitiveSceneInfo::GetComponentForDebugOnly ( ) const

◆ GetComponentInterfaceForDebugOnly()

IPrimitiveComponent * FPrimitiveSceneInfo::GetComponentInterfaceForDebugOnly ( ) const

◆ GetFullnameForDebuggingOnly()

FString FPrimitiveSceneInfo::GetFullnameForDebuggingOnly ( ) const

Return primitive fullname (for debugging only).

◆ GetIndex()

int32 FPrimitiveSceneInfo::GetIndex ( ) const
inline

Retrieves the index of the primitive in the scene's primitives array. This index is only valid until a primitive is added to or removed from the scene!

◆ GetIndexAddress()

const int32 * FPrimitiveSceneInfo::GetIndexAddress ( ) const
inline

Retrieves the address of the primitives index into in the scene's primitives array. This address is only for reference purposes

◆ GetInstanceDataHeader()

FInstanceDataBufferHeader FPrimitiveSceneInfo::GetInstanceDataHeader ( ) const

Returns the updated header data in the InstanceDataUpdateTaskInfo without blocking. For a primitive without instances, it returns a header with an instance count of one.

◆ GetInstancePayloadDataOffset()

int32 FPrimitiveSceneInfo::GetInstancePayloadDataOffset ( ) const
inline

◆ GetInstancePayloadDataStride()

int32 FPrimitiveSceneInfo::GetInstancePayloadDataStride ( ) const
inline

◆ GetInstanceSceneDataBuffers()

const FInstanceSceneDataBuffers * FPrimitiveSceneInfo::GetInstanceSceneDataBuffers ( ) const

Waits for (potential) instance update to produce the data, to avoid a sync, use GetInstanceDataHeader().

◆ GetInstanceSceneDataOffset()

int32 FPrimitiveSceneInfo::GetInstanceSceneDataOffset ( ) const
inline

◆ GetLightmapDataOffset()

int32 FPrimitiveSceneInfo::GetLightmapDataOffset ( ) const
inline

◆ GetMDCIdInfo()

FMeshDrawCommandPrimitiveIdInfo FPrimitiveSceneInfo::GetMDCIdInfo ( ) const
inline

◆ GetMemoryFootprint()

uint32 FPrimitiveSceneInfo::GetMemoryFootprint ( )

Size this class uses in bytes

◆ GetMeshBatch()

const FMeshBatch * FPrimitiveSceneInfo::GetMeshBatch ( int8  InLODIndex) const

Will output the FMeshBatch associated with the specified LODIndex.

◆ GetNumInstanceSceneDataEntries()

int32 FPrimitiveSceneInfo::GetNumInstanceSceneDataEntries ( ) const
inline

◆ GetNumLightmapDataEntries()

int32 FPrimitiveSceneInfo::GetNumLightmapDataEntries ( ) const
inline

◆ GetOwnerActorNameOrLabelForDebuggingOnly()

FString FPrimitiveSceneInfo::GetOwnerActorNameOrLabelForDebuggingOnly ( ) const

Return primitive Owner actor name (for debugging only).

◆ GetPersistentIndex()

FPersistentPrimitiveIndex FPrimitiveSceneInfo::GetPersistentIndex ( ) const
inline

Persistent index of the primitive in the range [0, FScene::GetMaxPersistentPrimitiveIndex() ). Where the max is never higher than the high watermark of the primitives in the scene. This index remains stable for the life-time of the primitive in the scene (i.e., same as PrimitiveSceneInfo and Proxy - between FScene::AddPrimitive / FScene::RemovePrimitive). The intended use is to enable tracking primitive data over time in renderer systems using direct indexing, e.g., for efficiently storing a bit per primitive. Direct indexing also facilitates easy GPU-reflection and access of the persistent data, where it can be accessed as e.g., GetPrimitiveData(...).PersistentPrimitiveIndex. It is allocated using FScene::PersistentPrimitiveIdAllocator from a range with holes that is kept as compact as possible up to the high-water mark of the scene primitives. Due to persistence this maximum can be substantially larger than the current number of Primitives at times, but never worse than the high-watermark. In the future, the index will likely be refactored to persist for the lifetime of the component (to facilitate tracking data past proxy re-creates). Note: It is not currently used to index any of the current FScene primitive arrays (use PackedIndex), though this is intended to change.

◆ GetRuntimeVirtualTextureLodInfo()

FPrimitiveRuntimeVirtualTextureLodInfo const & FPrimitiveSceneInfo::GetRuntimeVirtualTextureLodInfo ( ) const
inline

Get the packed LodInfo.

◆ GetSceneData()

const FPrimitiveSceneInfoData * FPrimitiveSceneInfo::GetSceneData ( ) const
inline

Returns the primitive scene data for this proxy.

◆ GetStaticMeshesLODRange()

void FPrimitiveSceneInfo::GetStaticMeshesLODRange ( int8 OutMinLOD,
int8 OutMaxLOD 
) const

Will output the LOD ranges of the static meshes used with this primitive.

◆ HasInstanceDataBuffers()

bool FPrimitiveSceneInfo::HasInstanceDataBuffers ( ) const
inline

◆ IsIndexValid()

bool FPrimitiveSceneInfo::IsIndexValid ( ) const
inline

Simple comparison against the invalid values used before/after scene add/remove.

◆ LinkAttachmentGroup()

void FPrimitiveSceneInfo::LinkAttachmentGroup ( )

Adds the primitive to the scene's attachment groups.

◆ LinkLODParentComponent()

void FPrimitiveSceneInfo::LinkLODParentComponent ( )

Set LOD Parent primitive information to the scene.

◆ MarkGPUStateDirty()

void FPrimitiveSceneInfo::MarkGPUStateDirty ( EPrimitiveDirtyState  PrimitiveDirtyState = EPrimitiveDirtyState::ChangedAll)
inline

Marks the primitive UB as needing updated and requests a GPU scene update

◆ MarkIndirectLightingCacheBufferDirty()

void FPrimitiveSceneInfo::MarkIndirectLightingCacheBufferDirty ( )
inline

◆ NeedsIndirectLightingCacheBufferUpdate()

bool FPrimitiveSceneInfo::NeedsIndirectLightingCacheBufferUpdate ( )
inline

return true if we need to call LazyUpdateForRendering

◆ NeedsReflectionCaptureUpdate()

bool FPrimitiveSceneInfo::NeedsReflectionCaptureUpdate ( ) const

Returns whether the primitive needs to call CacheReflectionCaptures.

◆ RefreshNaniteRasterBins()

void FPrimitiveSceneInfo::RefreshNaniteRasterBins ( )

Refreshes a primitive's references to raster bins. To be called after changes that might have invalidated them.

◆ RemoveCachedReflectionCaptures()

void FPrimitiveSceneInfo::RemoveCachedReflectionCaptures ( )

Nulls out the cached per-primitive reflection captures.

◆ RemoveFromScene()

void FPrimitiveSceneInfo::RemoveFromScene ( bool  bUpdateStaticDrawLists)

Removes the primitive from the scene.

◆ RemoveStaticMeshes()

void FPrimitiveSceneInfo::RemoveStaticMeshes ( )

Removes the primitive's static meshes from the scene.

◆ RequestGPUSceneUpdate()

bool FPrimitiveSceneInfo::RequestGPUSceneUpdate ( EPrimitiveDirtyState  PrimitiveDirtyState = EPrimitiveDirtyState::ChangedAll)

Adds a request to update GPU scene representation.

◆ RequestStaticMeshUpdate()

void FPrimitiveSceneInfo::RequestStaticMeshUpdate ( )

Sets a flag to update the primitive's static meshes before it is next rendered.

◆ RequestUniformBufferUpdate()

bool FPrimitiveSceneInfo::RequestUniformBufferUpdate ( )

Sets a flag to update the primitive's uniform buffer before it is next rendered.

◆ ShouldCacheShadowAsStatic()

bool FPrimitiveSceneInfo::ShouldCacheShadowAsStatic ( ) const
inline

◆ UnlinkAttachmentGroup()

void FPrimitiveSceneInfo::UnlinkAttachmentGroup ( )

Removes the primitive from the scene's attachment groups.

◆ UnlinkLODParentComponent()

void FPrimitiveSceneInfo::UnlinkLODParentComponent ( )

clear LOD parent primitive information from the scene.

◆ UpdateComponentLastRenderTime()

void FPrimitiveSceneInfo::UpdateComponentLastRenderTime ( float  CurrentWorldTime,
bool  bUpdateLastRenderTimeOnScreen 
)

Helper function for writing out to the last render times to the game thread

◆ UpdateIndirectLightingCacheBuffer()

void FPrimitiveSceneInfo::UpdateIndirectLightingCacheBuffer ( FRHICommandListBase RHICmdList)

◆ UpdateOcclusionFlags()

void FPrimitiveSceneInfo::UpdateOcclusionFlags ( )

Update the occlusion flags for this primitive.

◆ UpdateStaticLightingBuffer()

int32 FPrimitiveSceneInfo::UpdateStaticLightingBuffer ( )

Updates static lighting uniform buffer, returns the number of entries needed for GPUScene

◆ UpdateStaticMeshes()

void FPrimitiveSceneInfo::UpdateStaticMeshes ( FScene Scene,
TArrayView< FPrimitiveSceneInfo * >  SceneInfos,
EUpdateStaticMeshFlags  UpdateFlags,
bool  bReAddToDrawLists = true 
)
static

Updates the primitive's static meshes in the scene.

Friends And Related Symbol Documentation

◆ FScene

friend class FScene
friend

Let FScene have direct access to the Id.

◆ FSceneRenderer

friend class FSceneRenderer
friend

◆ FViewDebugInfo

Member Data Documentation

◆ bNeedsCachedReflectionCaptureUpdate

bool FPrimitiveSceneInfo::bNeedsCachedReflectionCaptureUpdate

Whether the primitive is newly registered or moved and CachedReflectionCaptureProxy needs to be updated on the next render.

◆ bShouldRenderInMainPass

bool FPrimitiveSceneInfo::bShouldRenderInMainPass

Set to true for the primitive to be rendered in the main pass to be visible in a view.

◆ bVisibleInRealTimeSkyCapture

bool FPrimitiveSceneInfo::bVisibleInRealTimeSkyCapture

Set to true for the primitive to be rendered into the real-time sky light reflection capture.

◆ bWritesRuntimeVirtualTexture

bool FPrimitiveSceneInfo::bWritesRuntimeVirtualTexture

True if the primitive can write to runtime virtual texture.

◆ CachedPlanarReflectionProxy

const FPlanarReflectionSceneProxy* FPrimitiveSceneInfo::CachedPlanarReflectionProxy

Planar reflection that was closest to this primitive, used for forward reflections.

◆ CachedReflectionCaptureProxies

const FReflectionCaptureProxy* FPrimitiveSceneInfo::CachedReflectionCaptureProxies[MaxCachedReflectionCaptureProxies]

◆ CachedReflectionCaptureProxy

const FReflectionCaptureProxy* FPrimitiveSceneInfo::CachedReflectionCaptureProxy

Reflection capture proxy that was closest to this primitive, used for the forward shading rendering path.

◆ DefaultDynamicHitProxy

HHitProxy* FPrimitiveSceneInfo::DefaultDynamicHitProxy

The hit proxy which is used to represent the primitive's dynamic elements.

◆ DefaultDynamicHitProxyId

FHitProxyId FPrimitiveSceneInfo::DefaultDynamicHitProxyId

The ID of the hit proxy which is used to represent the primitive's dynamic elements.

◆ DistanceFieldInstanceIndices

TArray<int32, TInlineAllocator<1> > FPrimitiveSceneInfo::DistanceFieldInstanceIndices

Mapping from instance index in this primitive to index in the global distance field object buffers.

◆ GpuLodInstanceRadius

float FPrimitiveSceneInfo::GpuLodInstanceRadius

The sphere radius to use for per instance GPU Lodding. Will be 0.f if GPU LOD isn't enabled on this primitive.

◆ HitProxies

TArray<TRefCountPtr<HHitProxy> > FPrimitiveSceneInfo::HitProxies

The hit proxies used by the primitive.

◆ IndirectLightingCacheAllocation

const FIndirectLightingCacheAllocation* FPrimitiveSceneInfo::IndirectLightingCacheAllocation

Caches the primitive's indirect lighting cache allocation. Note: This is only valid during the rendering of a frame, not just once the primitive is attached.

◆ IndirectLightingCacheUniformBuffer

TUniformBufferRef<FIndirectLightingCacheUniformParameters> FPrimitiveSceneInfo::IndirectLightingCacheUniformBuffer

The uniform buffer holding precomputed lighting parameters for the indirect lighting cache allocation. WARNING : This can hold buffer valid for a single frame only, don't cache anywhere. See FPrimitiveSceneInfo::UpdateIndirectLightingCacheBuffer()

◆ LastRenderTime

float FPrimitiveSceneInfo::LastRenderTime

Last render time in seconds since level started play.

◆ LightingAttachmentRoot

FPrimitiveComponentId FPrimitiveSceneInfo::LightingAttachmentRoot

The root attachment component id for use with lighting, if valid. If the root id is not valid, this is a parent primitive.

◆ LightList

class FLightPrimitiveInteraction* FPrimitiveSceneInfo::LightList

The list of lights affecting this primitive.

◆ LODParentComponentId

FPrimitiveComponentId FPrimitiveSceneInfo::LODParentComponentId

The component id of the LOD parent if valid.

◆ LumenPrimitiveGroupIndices

TArray<int32, TInlineAllocator<1> > FPrimitiveSceneInfo::LumenPrimitiveGroupIndices

Mapping from instance index in this primitive to index in the LumenPrimitiveGroup array.

◆ MaxCachedReflectionCaptureProxies

const uint32 FPrimitiveSceneInfo::MaxCachedReflectionCaptureProxies = 3
static

◆ NaniteMaterialSlots

TArray<FNaniteMaterialSlot> FPrimitiveSceneInfo::NaniteMaterialSlots[ENaniteMeshPass::Num]

◆ NaniteRasterBins

TArray<FNaniteRasterBin> FPrimitiveSceneInfo::NaniteRasterBins[ENaniteMeshPass::Num]

◆ NaniteShadingBins

TArray<FNaniteShadingBin> FPrimitiveSceneInfo::NaniteShadingBins[ENaniteMeshPass::Num]

◆ NumMobileDynamicLocalLights

int32 FPrimitiveSceneInfo::NumMobileDynamicLocalLights

The number of local lights with dynamic lighting for mobile

◆ OctreeId

FOctreeElementId2 FPrimitiveSceneInfo::OctreeId

The identifier for the primitive in Scene->PrimitiveOctree.

◆ OnGPUSceneInstancesAllocated

FPrimitiveSceneInfo::FPrimitiveSceneInfoEvent FPrimitiveSceneInfo::OnGPUSceneInstancesAllocated
static

◆ OnGPUSceneInstancesFreed

FPrimitiveSceneInfo::FPrimitiveSceneInfoEvent FPrimitiveSceneInfo::OnGPUSceneInstancesFreed
static

◆ PrimitiveComponentId

FPrimitiveComponentId FPrimitiveSceneInfo::PrimitiveComponentId

Id for the component this primitive belongs to. This will stay the same for the lifetime of the component, so it can be used to identify the component across re-registers.

◆ Proxy

FPrimitiveSceneProxy* FPrimitiveSceneInfo::Proxy

The render proxy for the primitive.

◆ Scene

FScene* FPrimitiveSceneInfo::Scene

The scene the primitive is in.

◆ StaticMeshCommandInfos

TArray<class FCachedMeshDrawCommandInfo> FPrimitiveSceneInfo::StaticMeshCommandInfos

The primitive's cached mesh draw commands infos for all static meshes. Kept separately from StaticMeshes for cache efficiency inside InitViews.

◆ StaticMeshes

TArray<class FStaticMeshBatch> FPrimitiveSceneInfo::StaticMeshes

The primitive's static meshes.

◆ StaticMeshRelevances

TArray<class FStaticMeshBatchRelevance> FPrimitiveSceneInfo::StaticMeshRelevances

The primitive's static mesh relevances. Must be in sync with StaticMeshes. Kept separately from StaticMeshes for cache efficiency inside InitViews.


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