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

#include <ScenePrivate.h>

+ Inheritance diagram for FScene:

Classes

struct  FPrimitiveSceneProxyType
 
struct  FPrimitiveTransformUpdater
 
struct  FPrimitiveUpdateParams
 
struct  FRealTimeSlicedReflectionCapture
 
struct  FTypeOffsetTableEntry
 
struct  FUpdateParameters
 

Public Types

using FLightSceneInfoCompactSparseArray = TSparseArray< FLightSceneInfoCompact, TAlignedSparseArrayAllocator< alignof(FLightSceneInfoCompact)> >
 

Public Member Functions

int32 GetMaxPersistentViewId () const
 
bool CanSampleSkyLightRealTimeCaptureData () const
 
 FScene (UWorld *InWorld, bool bInRequiresHitProxies, bool bInIsEditorScene, bool bCreateFXSystem, ERHIFeatureLevel::Type InFeatureLevel)
 
virtual ~FScene ()
 
FString GetFullWorldName () const
 
FViewSceneChangeSetProcessViewChanges (FRDGBuilder &GraphBuilder, TConstArrayView< FViewInfo * > AllViews)
 
void Update (FRDGBuilder &GraphBuilder, const FUpdateParameters &Parameters)
 
virtual void AddPrimitive (UPrimitiveComponent *Primitive) override
 
virtual void RemovePrimitive (UPrimitiveComponent *Primitive) override
 
virtual void ReleasePrimitive (UPrimitiveComponent *Primitive) override
 
virtual void BatchAddPrimitives (TArrayView< UPrimitiveComponent * > InPrimitives) override
 
virtual void BatchRemovePrimitives (TArrayView< UPrimitiveComponent * > InPrimitives) override
 
virtual void BatchReleasePrimitives (TArrayView< UPrimitiveComponent * > InPrimitives) override
 
virtual void UpdateAllPrimitiveSceneInfos (FRDGBuilder &GraphBuilder, EUpdateAllPrimitiveSceneInfosAsyncOps AsyncOps=EUpdateAllPrimitiveSceneInfosAsyncOps::None) override
 
virtual void UpdatePrimitiveTransform (UPrimitiveComponent *Primitive) override
 
virtual void UpdatePrimitiveInstances (UPrimitiveComponent *Primitive) override
 
virtual void UpdatePrimitiveInstancesFromCompute (FPrimitiveSceneDesc *Primitive, FGPUSceneWriteDelegate &&DataWriterGPU) override
 
virtual void UpdatePrimitiveOcclusionBoundsSlack (UPrimitiveComponent *Primitive, float NewSlack) override
 
virtual void UpdatePrimitiveDrawDistance (UPrimitiveComponent *Primitive, float MinDrawDistance, float MaxDrawDistance, float VirtualTextureMaxDrawDistance) override
 
virtual void UpdateInstanceCullDistance (UPrimitiveComponent *Primitive, float StartCullDistance, float EndCullDistance) override
 
virtual void UpdatePrimitiveAttachment (UPrimitiveComponent *Primitive) override
 
virtual void UpdateCustomPrimitiveData (UPrimitiveComponent *Primitive) override
 
virtual void UpdatePrimitiveDistanceFieldSceneData_GameThread (UPrimitiveComponent *Primitive) override
 
virtual FPrimitiveSceneInfoGetPrimitiveSceneInfo (int32 PrimitiveIndex) const final
 
virtual FPrimitiveSceneInfoGetPrimitiveSceneInfo (FPrimitiveComponentId PrimitiveId) const final
 
virtual FPrimitiveSceneInfoGetPrimitiveSceneInfo (const FPersistentPrimitiveIndex &PersistentPrimitiveIndex) const final
 
virtual bool GetPreviousLocalToWorld (const FPrimitiveSceneInfo *PrimitiveSceneInfo, FMatrix &OutPreviousLocalToWorld) const override
 
virtual void AddLight (ULightComponent *Light) override
 
virtual void RemoveLight (ULightComponent *Light) override
 
virtual void AddInvisibleLight (ULightComponent *Light) override
 
virtual void SetSkyLight (FSkyLightSceneProxy *Light) override
 
virtual void DisableSkyLight (FSkyLightSceneProxy *Light) override
 
virtual bool HasSkyLightRequiringLightingBuild () const override
 
virtual bool HasAtmosphereLightRequiringLightingBuild () const override
 
virtual void AddDecal (UDecalComponent *Component) override
 
virtual void RemoveDecal (UDecalComponent *Component) override
 
virtual void UpdateDecalTransform (UDecalComponent *Decal) override
 
virtual void UpdateDecalFadeOutTime (UDecalComponent *Decal) override
 
virtual void UpdateDecalFadeInTime (UDecalComponent *Decal) override
 
virtual void BatchUpdateDecals (TArray< FDeferredDecalUpdateParams > &&UpdateParams) override
 
virtual void AddReflectionCapture (UReflectionCaptureComponent *Component) override
 
virtual void RemoveReflectionCapture (UReflectionCaptureComponent *Component) override
 
virtual void GetReflectionCaptureData (UReflectionCaptureComponent *Component, class FReflectionCaptureData &OutCaptureData) override
 
virtual void UpdateReflectionCaptureTransform (UReflectionCaptureComponent *Component) override
 
virtual void ReleaseReflectionCubemap (UReflectionCaptureComponent *CaptureComponent) override
 
virtual void AddPlanarReflection (class UPlanarReflectionComponent *Component) override
 
virtual void RemovePlanarReflection (UPlanarReflectionComponent *Component) override
 
virtual void UpdatePlanarReflectionTransform (UPlanarReflectionComponent *Component) override
 
virtual void UpdateSceneCaptureContents (class USceneCaptureComponent2D *CaptureComponent, ISceneRenderBuilder &SceneRenderBuilder) override
 
virtual void UpdateSceneCaptureContents (class USceneCaptureComponentCube *CaptureComponent, ISceneRenderBuilder &SceneRenderBuilder) override
 
virtual void UpdatePlanarReflectionContents (UPlanarReflectionComponent *CaptureComponent, FSceneRenderer &MainSceneRenderer, ISceneRenderBuilder &SceneRenderBuilder) override
 
virtual void AllocateReflectionCaptures (const TArray< UReflectionCaptureComponent * > &NewCaptures, const TCHAR *CaptureReason, bool bVerifyOnlyCapturing, bool bCapturingForMobile, bool bInsideTick) override
 
virtual void ResetReflectionCaptures (bool bOnlyIfOOM) override
 
virtual void UpdateSkyCaptureContents (const USkyLightComponent *CaptureComponent, bool bCaptureEmissiveOnly, UTextureCube *SourceCubemap, FTexture *OutProcessedTexture, float &OutAverageBrightness, FSHVectorRGB3 &OutIrradianceEnvironmentMap, TArray< FFloat16Color > *OutRadianceMap, FLinearColor *SpecifiedCubemapColorScale) override
 
virtual void AllocateAndCaptureFrameSkyEnvMap (FRDGBuilder &GraphBuilder, FSceneRenderer &SceneRenderer, FViewInfo &MainView, bool bShouldRenderSkyAtmosphere, bool bShouldRenderVolumetricCloud, FInstanceCullingManager &InstanceCullingManager, FRDGExternalAccessQueue &ExternalAccessQueue) override
 
virtual void ValidateSkyLightRealTimeCapture (FRDGBuilder &GraphBuilder, const FViewInfo &View, FRDGTextureRef SceneColorTexture) override
 
virtual void ProcessAndRenderIlluminanceMeter (FRDGBuilder &GraphBuilder, TArrayView< FViewInfo > Views, FRDGTextureRef SceneColorTexture)
 
virtual void AddPrecomputedLightVolume (const class FPrecomputedLightVolume *Volume) override
 
virtual void RemovePrecomputedLightVolume (const class FPrecomputedLightVolume *Volume) override
 
virtual bool HasPrecomputedVolumetricLightmap_RenderThread () const override
 
virtual void AddPrecomputedVolumetricLightmap (const class FPrecomputedVolumetricLightmap *Volume, bool bIsPersistentLevel) override
 
virtual void RemovePrecomputedVolumetricLightmap (const class FPrecomputedVolumetricLightmap *Volume) override
 
virtual void AddRuntimeVirtualTexture (class URuntimeVirtualTextureComponent *Component) override
 
virtual void RemoveRuntimeVirtualTexture (class URuntimeVirtualTextureComponent *Component) override
 
virtual void GetRuntimeVirtualTextureHidePrimitiveMask (uint8 &bHideMaskEditor, uint8 &bHideMaskGame) const override
 
virtual void InvalidateRuntimeVirtualTexture (class URuntimeVirtualTextureComponent *Component, FBoxSphereBounds const &WorldBounds, EVTInvalidatePriority InvalidatePriority) override
 
virtual void RequestPreloadRuntimeVirtualTexture (class URuntimeVirtualTextureComponent *Component, FBoxSphereBounds const &WorldBounds, int32 Level) override
 
virtual void InvalidatePathTracedOutput (PathTracing::EInvalidateReason InvalidateReason=PathTracing::EInvalidateReason::Uncategorized) override
 
virtual void InvalidateLumenSurfaceCache_GameThread (UPrimitiveComponent *Component) override
 
virtual void GetPrimitiveUniformShaderParameters_RenderThread (const FPrimitiveSceneInfo *PrimitiveSceneInfo, bool &bHasPrecomputedVolumetricLightmap, FMatrix &PreviousLocalToWorld, int32 &SingleCaptureIndex, bool &bOutputVelocity) const override
 
virtual void UpdateLightTransform (ULightComponent *Light) override
 
virtual void UpdateLightColorAndBrightness (ULightComponent *Light) override
 
virtual void UpdateLightProxy (ULightComponent *Light, TFunction< void(FLightSceneProxy *)> &&Func) override
 
virtual void AddExponentialHeightFog (uint64 Id, const FExponentialHeightFogDynamicState &State) override
 
virtual void RemoveExponentialHeightFog (uint64 Id) override
 
virtual bool HasAnyExponentialHeightFog () const override
 
virtual void AddHairStrands (FHairStrandsInstance *Proxy) override
 
virtual void RemoveHairStrands (FHairStrandsInstance *Proxy) override
 
virtual void GetLightIESAtlasSlot (const FLightSceneProxy *Proxy, FLightRenderParameters *Out) override
 
virtual void GetRectLightAtlasSlot (const FRectLightSceneProxy *Proxy, FLightRenderParameters *Out) override
 
virtual void AddLocalFogVolume (class FLocalFogVolumeSceneProxy *FogProxy) override
 
virtual void RemoveLocalFogVolume (class FLocalFogVolumeSceneProxy *FogProxy) override
 
virtual bool HasAnyLocalFogVolume () const override
 
virtual void AddSkyAtmosphere (FSkyAtmosphereSceneProxy *SkyAtmosphereSceneProxy, bool bStaticLightingBuilt) override
 
virtual void RemoveSkyAtmosphere (FSkyAtmosphereSceneProxy *SkyAtmosphereSceneProxy) override
 
virtual FSkyAtmosphereRenderSceneInfoGetSkyAtmosphereSceneInfo () override
 
virtual const FSkyAtmosphereRenderSceneInfoGetSkyAtmosphereSceneInfo () const override
 
uint32 GetCachedTransmittanceAndMultiScatteringLUTsVersion () const
 
void SetCachedTransmittanceAndMultiScatteringLUTsVersion (uint32 NewTransmittanceAndMultiScatteringLUTsVersion)
 
virtual void AddSparseVolumeTextureViewer (FSparseVolumeTextureViewerSceneProxy *SVTV) override
 
virtual void RemoveSparseVolumeTextureViewer (FSparseVolumeTextureViewerSceneProxy *SVTV) override
 
virtual TArray< FAnimBankRecordHandleRegisterAnimBank (const TConstArrayView< struct FAnimBankDesc > Descs) override
 
virtual void UnregisterAnimBank (const TConstArrayView< FAnimBankRecordHandle > Handles) override
 
virtual void SetPhysicsField (class FPhysicsFieldSceneProxy *PhysicsFieldSceneProxy) override
 
virtual void ResetPhysicsField () override
 
virtual void ShowPhysicsField () override
 
virtual void UpdatePhysicsField (FRDGBuilder &GraphBuilder, FViewInfo &View) override
 
virtual void AddVolumetricCloud (FVolumetricCloudSceneProxy *VolumetricCloudSceneProxy) override
 
virtual void RemoveVolumetricCloud (FVolumetricCloudSceneProxy *VolumetricCloudSceneProxy) override
 
virtual FVolumetricCloudRenderSceneInfoGetVolumetricCloudSceneInfo () override
 
virtual const FVolumetricCloudRenderSceneInfoGetVolumetricCloudSceneInfo () const override
 
virtual void AddWindSource (UWindDirectionalSourceComponent *WindComponent) override
 
virtual void RemoveWindSource (UWindDirectionalSourceComponent *WindComponent) override
 
virtual void UpdateWindSource (UWindDirectionalSourceComponent *WindComponent) override
 
virtual const TArray< FWindSourceSceneProxy * > & GetWindSources_RenderThread () const override
 
virtual void GetWindParameters (const FVector &Position, FVector &OutDirection, float &OutSpeed, float &OutMinGustAmt, float &OutMaxGustAmt) const override
 
virtual void GetWindParameters_GameThread (const FVector &Position, FVector &OutDirection, float &OutSpeed, float &OutMinGustAmt, float &OutMaxGustAmt) const override
 
virtual void GetDirectionalWindParameters (FVector &OutDirection, float &OutSpeed, float &OutMinGustAmt, float &OutMaxGustAmt) const override
 
virtual void AddSpeedTreeWind (FVertexFactory *VertexFactory, const UStaticMesh *StaticMesh) override
 
virtual void RemoveSpeedTreeWind_RenderThread (FVertexFactory *VertexFactory, const UStaticMesh *StaticMesh) override
 
virtual void UpdateSpeedTreeWind (double CurrentTime) override
 
virtual FRHIUniformBufferGetSpeedTreeUniformBuffer (const FVertexFactory *VertexFactory) const override
 
virtual void DumpUnbuiltLightInteractions (FOutputDevice &Ar) const override
 
virtual void UpdateParameterCollections (const TArray< FMaterialParameterCollectionInstanceResource * > &InParameterCollections) override
 
virtual bool RequestGPUSceneUpdate (FPrimitiveSceneInfo &PrimitiveSceneInfo, EPrimitiveDirtyState PrimitiveDirtyState) override
 
virtual bool RequestUniformBufferUpdate (FPrimitiveSceneInfo &PrimitiveSceneInfo) override
 
virtual void RefreshNaniteRasterBins (FPrimitiveSceneInfo &PrimitiveSceneInfo) override
 
virtual void ReloadNaniteFixedFunctionBins () override
 
FVirtualShadowMapArrayCacheManagerGetVirtualShadowMapCache ()
 
FLumenSceneDataFindLumenSceneData (uint32 ViewKey, uint32 GPUIndex) const
 
FLumenSceneDataGetLumenSceneData (const FViewInfo &View) const
 
FLumenSceneDataGetLumenSceneData (const FSceneView &View) const
 
virtual void AddPrimitive (FPrimitiveSceneDesc *Primitive) override
 
virtual void RemovePrimitive (FPrimitiveSceneDesc *Primitive) override
 
virtual void ReleasePrimitive (FPrimitiveSceneDesc *Primitive) override
 
virtual void UpdatePrimitiveTransform (FPrimitiveSceneDesc *Primitive) override
 
virtual void BatchAddPrimitives (TArrayView< FPrimitiveSceneDesc * > InPrimitives) override
 
virtual void BatchRemovePrimitives (TArrayView< FPrimitiveSceneDesc * > InPrimitives) override
 
virtual void BatchReleasePrimitives (TArrayView< FPrimitiveSceneDesc * > InPrimitives) override
 
virtual void BatchRemovePrimitives (TArray< FPrimitiveSceneProxy * > &&InPrimitives) override
 
virtual void UpdateCustomPrimitiveData (FPrimitiveSceneDesc *Primitive, const FCustomPrimitiveData &CustomPrimitiveData) override
 
virtual void UpdatePrimitiveInstances (FInstancedStaticMeshSceneDesc *Primitive) override
 
virtual void UpdatePrimitiveInstances (FPrimitiveSceneDesc *Primitive) override
 
bool HasSkyAtmosphere () const
 
bool HasVolumetricCloud () const
 
bool IsSecondAtmosphereLightEnabled ()
 
void ResetAtmosphereLightsProperties ()
 
virtual void GetRelevantLights (UPrimitiveComponent *Primitive, TArray< const ULightComponent * > *RelevantLights) const override
 
virtual void SetPrecomputedVisibility (const FPrecomputedVisibilityHandler *InPrecomputedVisibilityHandler) override
 
virtual void UpdateStaticDrawLists () override
 
virtual void UpdateCachedRenderStates (FPrimitiveSceneProxy *SceneProxy) override
 
virtual void UpdatePrimitiveSelectedState_RenderThread (const FPrimitiveSceneInfo *PrimitiveSceneInfo, bool bIsSelected) override
 
virtual void UpdatePrimitiveVelocityState_RenderThread (FPrimitiveSceneInfo *PrimitiveSceneInfo, bool bIsBeingMoved) override
 
virtual void UpdateEarlyZPassMode () override
 
virtual void Release () override
 
virtual UWorldGetWorld () const override
 
const FReflectionCaptureProxyFindClosestReflectionCapture (FVector Position) const
 
const class FPlanarReflectionSceneProxyFindClosestPlanarReflection (const FBoxSphereBounds &Bounds) const
 
const class FPlanarReflectionSceneProxyGetForwardPassGlobalPlanarReflection () const
 
void FindClosestReflectionCaptures (FVector Position, const FReflectionCaptureProxy *(&SortedByDistanceOUT)[FPrimitiveSceneInfo::MaxCachedReflectionCaptureProxies]) const
 
int64 GetCachedWholeSceneShadowMapsSize () const
 
virtual bool RequiresHitProxies () const override
 
SIZE_T GetSizeBytes () const
 
virtual FSceneGetRenderScene () final
 
virtual const FSceneGetRenderScene () const final
 
virtual void OnWorldCleanup () override
 
virtual void UpdateSceneSettings (AWorldSettings *WorldSettings) override
 
virtual class FGPUSkinCacheGetGPUSkinCache () override
 
virtual class FSkeletalMeshUpdaterGetSkeletalMeshUpdater () override
 
virtual void GetComputeTaskWorkers (TArray< class IComputeTaskWorker * > &OutWorkers) const override
 
virtual void SetFXSystem (class FFXSystemInterface *InFXSystem) override
 
virtual class FFXSystemInterfaceGetFXSystem () override
 
virtual void Export (FArchive &Ar) const override
 
FRHIUniformBufferGetParameterCollectionBuffer (const FGuid &InId) const
 
virtual void ApplyWorldOffset (const FVector &InOffset) override
 
virtual void OnLevelAddedToWorld (const FName &InLevelName, UWorld *InWorld, bool bIsLightingScenario) override
 
virtual void OnLevelRemovedFromWorld (const FName &LevelRemovedName, UWorld *InWorld, bool bIsLightingScenario) override
 
virtual bool HasAnyLights () const override
 
virtual bool IsEditorScene () const override
 
bool ShouldRenderSkylightInBasePass (bool bIsTranslucent) const
 
virtual TConstArrayView< FPrimitiveSceneProxy * > GetPrimitiveSceneProxies () const final
 
virtual TConstArrayView< FPrimitiveComponentIdGetScenePrimitiveComponentIds () const final
 
void FlushDirtyRuntimeVirtualTextures ()
 
virtual void StartFrame () override
 
virtual void EndFrame (FRHICommandListImmediate &RHICmdList) override
 
virtual uint32 GetFrameNumber () const override
 
uint32 GetFrameNumberRenderThread () const
 
virtual void IncrementFrameNumber () override
 
void DumpMeshDrawCommandMemoryStats ()
 
FORCEINLINE TArray< FCachedShadowMapData > * GetCachedShadowMapDatas (int32 LightID)
 
FORCEINLINE FCachedShadowMapDataGetCachedShadowMapDataRef (int32 LightID, int32 ShadowMapIndex=0)
 
FORCEINLINE const FCachedShadowMapDataGetCachedShadowMapDataRef (int32 LightID, int32 ShadowMapIndex=0) const
 
FORCEINLINE const FCachedShadowMapDataGetCachedShadowMapData (int32 LightID, int32 ShadowMapIndex=0) const
 
int32 GetMaxPersistentPrimitiveIndex () const
 
FORCEINLINE int32 GetPrimitiveIndex (const FPersistentPrimitiveIndex &PersistentPrimitiveIndex) const
 
bool GetForceNoPrecomputedLighting () const
 
FLumenSceneDataIterator GetLumenSceneDataIterator () const
 
void WaitForCreateLightPrimitiveInteractionsTask ()
 
const UE::Tasks::FTaskGetCreateLightPrimitiveInteractionsTask () const
 
const UE::Tasks::FTaskGetGPUSkinUpdateTask () const
 
const UE::Tasks::FTaskGetGPUSkinCacheTask () const
 
void AddGPUSkinCacheAsyncComputeWait (FRDGBuilder &GraphBuilder) const
 
void WaitForCacheMeshDrawCommandsTask ()
 
const UE::Tasks::FTaskGetCacheMeshDrawCommandsTask () const
 
void WaitForCacheNaniteMaterialBinsTask ()
 
const UE::Tasks::FTaskGetCacheNaniteMaterialBinsTask () const
 
void LumenAddPrimitive (FPrimitiveSceneInfo *InPrimitive)
 
void LumenUpdatePrimitive (FPrimitiveSceneInfo *InPrimitive)
 
void LumenInvalidateSurfaceCacheForPrimitive (FPrimitiveSceneInfo *InPrimitive)
 
void LumenRemovePrimitive (FPrimitiveSceneInfo *InPrimitive, int32 PrimitiveIndex)
 
void DebugRender (TArrayView< FViewInfo > Views)
 
template<typename TExtension >
TExtensionGetExtensionPtr ()
 
template<typename TExtension >
const TExtensionGetExtensionPtr () const
 
template<typename TExtension >
TExtensionGetExtension ()
 
template<typename TExtension >
const TExtensionGetExtension () const
 
virtual bool AddCustomRenderPass (const FSceneViewFamily *ViewFamily, const FCustomRenderPassRendererInput &CustomRenderPassInput)
 
 DECLARE_MULTICAST_DELEGATE_TwoParams (FSceneLightSceneInfoUpdateDelegate, FRDGBuilder &, const FLightSceneChangeSet &)
 
void GetRelevantLights_RenderThread (const FPrimitiveSceneProxy *PrimitiveSceneProxy, TArray< const FLightSceneProxy * > &OutRelevantLights) const
 
void UpdatePrimitiveTransform_RenderThread (FPrimitiveSceneProxy *PrimitiveSceneProxy, const FBoxSphereBounds &WorldBounds, const FBoxSphereBounds &LocalBounds, const FMatrix &LocalToWorld, const FVector &OwnerPosition, const TOptional< FTransform > &PreviousTransform)
 
bool RequiresDebugMaterials () const
 
virtual void UpdatePrimitivesDrawnInGame_RenderThread (TArrayView< FPrimitiveSceneProxy * > PrimitiveSceneProxies, bool bDrawnInGame) override
 
virtual void UpdateAllPrimitiveSceneInfos (FRDGBuilder &GraphBuilder, EUpdateAllPrimitiveSceneInfosAsyncOps AsyncOps=EUpdateAllPrimitiveSceneInfosAsyncOps::None)=0
 
ENGINE_API void UpdateAllPrimitiveSceneInfos (FRHICommandListImmediate &RHICmdList)
 
- Public Member Functions inherited from FSceneInterface
ENGINE_API FSceneInterface (ERHIFeatureLevel::Type InFeatureLevel)
 
ENGINE_API void UpdateAllPrimitiveSceneInfos (FRHICommandListImmediate &RHICmdList)
 
void AllocateReflectionCaptures (const TArray< UReflectionCaptureComponent * > &NewCaptures, const TCHAR *CaptureReason, bool bVerifyOnlyCapturing, bool bCapturingForMobile)
 
virtual void AllocateAndCaptureFrameSkyEnvMap (FRDGBuilder &GraphBuilder, FSceneRenderer &SceneRenderer, FViewInfo &MainView, bool bShouldRenderSkyAtmosphere, bool bShouldRenderVolumetricCloud, FInstanceCullingManager &InstanceCullingManager)
 
virtual void InvalidateRuntimeVirtualTexture (URuntimeVirtualTextureComponent *Component, FBoxSphereBounds const &WorldBounds)
 
virtual void SetPrecomputedVisibility (const class FPrecomputedVisibilityHandler *PrecomputedVisibilityHandler)
 
virtual void SetPrecomputedVolumeDistanceField (const class FPrecomputedVolumeDistanceField *PrecomputedVolumeDistanceField)
 
virtual TArray< FAnimBankRecordHandleRegisterAnimBank (const TConstArrayView< FAnimBankDesc > Descs)=0
 
virtual void UpdatePhysicsField (FRHICommandListImmediate &RHICmdList, FViewInfo &View)
 
virtual void AddSpeedTreeWind (class FVertexFactory *VertexFactory, const class UStaticMesh *StaticMesh)=0
 
virtual void RemoveSpeedTreeWind_RenderThread (class FVertexFactory *VertexFactory, const class UStaticMesh *StaticMesh)=0
 
virtual void AddLumenSceneCard (class ULumenSceneCardComponent *LumenSceneCardComponent)
 
virtual void UpdateLumenSceneCardTransform (class ULumenSceneCardComponent *LumenSceneCardComponent)
 
virtual void RemoveLumenSceneCard (class ULumenSceneCardComponent *LumenSceneCardComponent)
 
virtual void StartUpdatePrimitiveTransform (int32 NumPrimitives)
 
virtual void FinishUpdatePrimitiveTransform ()
 
ERHIFeatureLevel::Type GetFeatureLevel () const
 
ENGINE_API EShaderPlatform GetShaderPlatform () const
 
EShadingPath GetShadingPath () const
 
virtual void UpdateCachedRayTracingState (class FPrimitiveSceneProxy *SceneProxy)
 
virtual class FRayTracingDynamicGeometryCollectionGetRayTracingDynamicGeometryCollection ()
 
virtual class FRayTracingSkinnedGeometryUpdateQueueGetRayTracingSkinnedGeometryUpdateQueue ()
 

Static Public Member Functions

static FExclusiveDepthStencil::Type GetDefaultBasePassDepthStencilAccess (ERHIFeatureLevel::Type InFeatureLevel)
 
static void GetEarlyZPassMode (ERHIFeatureLevel::Type InFeatureLevel, EDepthDrawingMode &OutZPassMode, bool &bOutEarlyZPassMovable)
 
- Static Public Member Functions inherited from FSceneInterface
static ENGINE_API EShadingPath GetShadingPath (ERHIFeatureLevel::Type InFeatureLevel)
 

Public Attributes

UWorldWorld
 
class FFXSystemInterfaceFXSystem
 
TArray< FSceneViewState * > ViewStates
 
TSparseArray< int32PersistentViewStateUniqueIDs
 
FPersistentUniformBuffers UniformBuffers
 
FStateBucketMap CachedMeshDrawCommandStateBuckets [EMeshPass::Num]
 
FCachedPassMeshDrawList CachedDrawLists [EMeshPass::Num]
 
FNaniteShadingCommands NaniteShadingCommands [ENaniteMeshPass::Num]
 
FNaniteRasterPipelines NaniteRasterPipelines [ENaniteMeshPass::Num]
 
FNaniteShadingPipelines NaniteShadingPipelines [ENaniteMeshPass::Num]
 
FNaniteVisibility NaniteVisibility [ENaniteMeshPass::Num]
 
uint32 PrimitivesAlwaysVisibleOffset = ~0u
 
TArray< FPrimitiveSceneInfo * > Primitives
 
TScenePrimitiveArray< FMatrixPrimitiveTransforms
 
TArray< FPrimitiveSceneProxy * > PrimitiveSceneProxies
 
TScenePrimitiveArray< FPrimitiveBoundsPrimitiveBounds
 
TArray< FPrimitiveFlagsCompactPrimitiveFlagsCompact
 
TArray< FPrimitiveVisibilityIdPrimitiveVisibilityIds
 
TArray< uint32PrimitiveOctreeIndex
 
TArray< uint8PrimitiveOcclusionFlags
 
TScenePrimitiveArray< FBoxSphereBoundsPrimitiveOcclusionBounds
 
TArray< FPrimitiveComponentIdPrimitiveComponentIds
 
TMap< FName, TArray< FPrimitiveSceneInfo * > > PrimitivesNeedingLevelUpdateNotification
 
TBitArray PrimitivesNeedingStaticMeshUpdate
 
TBitArray PrimitivesNeedingUniformBufferUpdate
 
TArray< int32PersistentPrimitiveIdToIndexMap
 
TArray< FTypeOffsetTableEntryTypeOffsetTable
 
FLightSceneInfoCompactSparseArray Lights
 
FLightSceneInfoCompactSparseArray InvisibleLights
 
TArray< FString > OverflowingDynamicShadowedLights
 
EDepthDrawingMode EarlyZPassMode
 
bool bEarlyZPassMovable
 
FExclusiveDepthStencil::Type DefaultBasePassDepthStencilAccess
 
FExclusiveDepthStencil::Type CachedDefaultBasePassDepthStencilAccess
 
bool bCachedShouldRenderSkylightInBasePass
 
bool bCachedSkyLightRealTimeCapture
 
bool bScenesPrimitivesNeedStaticMeshElementUpdate
 
TAtomic< uint32PathTracingInvalidationCounter
 
FSkyLightSceneProxySkyLight
 
TRefCountPtr< FRDGPooledBufferSkyIrradianceEnvironmentMap
 
TRefCountPtr< IPooledRenderTargetRealTimeReflectionCaptureSkyAtmosphereViewLutTexture
 
TRefCountPtr< IPooledRenderTargetRealTimeReflectionCaptureCamera360APLutTexture
 
TRefCountPtr< IPooledRenderTargetCapturedSkyRenderTarget
 
TRefCountPtr< IPooledRenderTargetConvolvedSkyRenderTarget [2]
 
int32 ConvolvedSkyRenderTargetReadyIndex
 
struct FScene::FRealTimeSlicedReflectionCapture RealTimeSlicedReflectionCapture
 
TRefCountPtr< IPooledRenderTargetPathTracingSkylightTexture
 
TRefCountPtr< IPooledRenderTargetPathTracingSkylightPdf
 
FLinearColor PathTracingSkylightColor
 
TArray< FSkyLightSceneProxy * > SkyLightStack
 
TQueue< TSharedPtr< FRHIGPUBufferReadback > > MobileSkyLightRealTimeCaptureIrradianceReadBackQueries
 
FVector4f MobileSkyLightRealTimeCaptureIrradianceEnvironmentMap [SKY_IRRADIANCE_ENVIRONMENT_MAP_VEC4_COUNT]
 
FLightSceneInfoSimpleDirectionalLight
 
FLightSceneInfoMobileDirectionalLights [NUM_LIGHTING_CHANNELS]
 
FLightSceneInfoAtmosphereLights [NUM_ATMOSPHERE_LIGHTS]
 
TArray< FLightSceneInfo *, TInlineAllocator< 4 > > DirectionalLights
 
TArray< FDeferredDecalProxy * > Decals
 
TArray< FPrimitiveSceneInfo * > DynamicIndirectCasterPrimitives
 
TArray< class FPlanarReflectionSceneProxy * > PlanarReflections
 
TArray< class UPlanarReflectionComponent * > PlanarReflections_GameThread
 
FReflectionEnvironmentSceneData ReflectionSceneData
 
FHairStrandsSceneData HairStrandsSceneData
 
FOITSceneData OITSceneData
 
TArray< const FPrecomputedLightVolume * > PrecomputedLightVolumes
 
FIndirectLightingCache IndirectLightingCache
 
FVolumetricLightmapSceneData VolumetricLightmapSceneData
 
FGPUScene GPUScene
 
FDistanceFieldSceneData DistanceFieldSceneData
 
FLumenSceneDataDefaultLumenSceneData
 
FLumenSceneDataMap PerViewOrGPULumenSceneData
 
TMap< FPrimitiveComponentId, FPrimitiveSceneInfo * > LandscapeToNaniteProxyMap
 
TMap< int32, TArray< FCachedShadowMapData > > CachedShadowMaps
 
TArray< TRefCountPtr< IPooledRenderTarget > > PrevAtlasHZBs
 
TArray< TRefCountPtr< IPooledRenderTarget > > PrevAtlasCompleteHZBs
 
TRefCountPtr< IPooledRenderTargetPreShadowCacheDepthZ
 
TArray< TRefCountPtr< FProjectedShadowInfo > > CachedPreshadows
 
FTextureLayout PreshadowCacheLayout
 
TSparseArray< FStaticMeshBatch * > StaticMeshes
 
TArray< FExponentialHeightFogSceneInfoExponentialFogs
 
FSkyAtmosphereRenderSceneInfoSkyAtmosphere
 
uint32 CachedTransmittanceAndMultiScatteringLUTsVersion
 
TArray< FSkyAtmosphereSceneProxy * > SkyAtmosphereStack
 
FVolumetricCloudRenderSceneInfoVolumetricCloud
 
TArray< FVolumetricCloudSceneProxy * > VolumetricCloudStack
 
TArray< FLocalFogVolumeSceneProxy * > LocalFogVolumes
 
TArray< FSparseVolumeTextureViewerSceneProxy * > SparseVolumeTextureViewers
 
class FPhysicsFieldSceneProxyPhysicsField = nullptr
 
TArray< class FWindSourceSceneProxy * > WindSources
 
TArray< UWindDirectionalSourceComponent * > WindComponents_GameThread
 
TMap< const UStaticMesh *, struct FSpeedTreeWindComputation * > SpeedTreeWindComputationMap
 
TMap< FVertexFactory *, const UStaticMesh * > SpeedTreeVertexFactoryMap
 
TMap< FPrimitiveComponentId, FAttachmentGroupSceneInfoAttachmentGroups
 
const FPrecomputedVisibilityHandlerPrecomputedVisibilityHandler
 
FSceneLightOctree LocalShadowCastingLightOctree
 
TArray< int32DirectionalShadowCastingLightIDs
 
FScenePrimitiveOctree PrimitiveOctree
 
bool bRequiresHitProxies
 
bool bIsEditorScene
 
bool bRuntimeVirtualTexturePrimitiveHideEditor
 
bool bRuntimeVirtualTexturePrimitiveHideGame
 
volatile int32 NumUncachedStaticLightingInteractions
 
volatile int32 NumUnbuiltReflectionCaptures
 
int32 NumMobileStaticAndCSMLights_RenderThread
 
int32 NumMobileMovableDirectionalLights_RenderThread
 
FSceneVelocityData VelocityData
 
class FGPUSkinCacheGPUSkinCache
 
class FSkeletalMeshUpdaterSkeletalMeshUpdater
 
TArray< class IComputeTaskWorker * > ComputeTaskWorkers
 
TMap< FGuid, FUniformBufferRHIRefParameterCollections
 
FLODSceneTree SceneLODHierarchy
 
TSparseArray< FRuntimeVirtualTextureSceneProxy * > RuntimeVirtualTextures
 
FSubstrateSceneData SubstrateSceneData
 
LightFunctionAtlas::FLightFunctionAtlasSceneData LightFunctionAtlasSceneData
 
float DefaultMaxDistanceFieldOcclusionDistance
 
float GlobalDistanceFieldViewDistance
 
float DynamicIndirectShadowsSelfShadowingIntensity
 
FSpanAllocator PersistentPrimitiveIdAllocator
 
FSceneExtensions SceneExtensions
 
TArray< FCustomRenderPassRendererInputCustomRenderPassRendererInputs
 
class FInstanceCullingOcclusionQueryRendererInstanceCullingOcclusionQueryRenderer = nullptr
 
FSceneLightSceneInfoUpdateDelegate OnPreLightSceneInfoUpdate
 
FSceneLightSceneInfoUpdateDelegate OnPostLightSceneInfoUpdate
 

Friends

class FSceneViewState
 

Additional Inherited Members

- Protected Member Functions inherited from FSceneInterface
virtual ~FSceneInterface ()
 
- Protected Attributes inherited from FSceneInterface
ERHIFeatureLevel::Type FeatureLevel
 

Detailed Description

Renderer scene which is private to the renderer module. Ordinarily this is the renderer version of a UWorld, but an FScene can be created for previewing in editors which don't have a UWorld as well. The scene stores renderer state that is independent of any view or frame, with the primary actions being adding and removing of primitives and lights.

Member Typedef Documentation

◆ FLightSceneInfoCompactSparseArray

Constructor & Destructor Documentation

◆ FScene()

FScene::FScene ( UWorld InWorld,
bool  bInRequiresHitProxies,
bool  bInIsEditorScene,
bool  bCreateFXSystem,
ERHIFeatureLevel::Type  InFeatureLevel 
)

Initialization constructor.

◆ ~FScene()

FScene::~FScene ( )
virtual

Member Function Documentation

◆ AddCustomRenderPass()

bool FScene::AddCustomRenderPass ( const FSceneViewFamily ViewFamily,
const FCustomRenderPassRendererInput CustomRenderPassInput 
)
virtual

Enqueues a new custom render pass to execute the next time this scene is rendered by ANY scene renderer. It will be immediately removed from the scene afterwards.

Reimplemented from FSceneInterface.

◆ AddDecal()

void FScene::AddDecal ( UDecalComponent Component)
overridevirtual

Adds a new decal component to the scene

Parameters
Component- component to add

Implements FSceneInterface.

◆ AddExponentialHeightFog()

void FScene::AddExponentialHeightFog ( uint64  Id,
const FExponentialHeightFogDynamicState State 
)
overridevirtual

Adds a new exponential height fog component to the scene

Parameters
FogComponent- fog component to add

Implements FSceneInterface.

◆ AddGPUSkinCacheAsyncComputeWait()

void FScene::AddGPUSkinCacheAsyncComputeWait ( FRDGBuilder GraphBuilder) const

◆ AddHairStrands()

void FScene::AddHairStrands ( FHairStrandsInstance Proxy)
overridevirtual

Adds a hair strands proxy to the scene

Parameters
Proxy- the hair strands proxy

Implements FSceneInterface.

◆ AddInvisibleLight()

void FScene::AddInvisibleLight ( ULightComponent Light)
overridevirtual

Adds a new light component to the scene which is currently invisible, but needed for editor previewing

Parameters
Light- light component to add

Implements FSceneInterface.

◆ AddLight()

void FScene::AddLight ( ULightComponent Light)
overridevirtual

Adds a new light component to the scene

Parameters
Light- light component to add

Implements FSceneInterface.

◆ AddLocalFogVolume()

void FScene::AddLocalFogVolume ( class FLocalFogVolumeSceneProxy FogProxy)
overridevirtual

Adds a new local height fog component to the scene

Parameters
FogProxy- fog proxy to add

Implements FSceneInterface.

◆ AddPlanarReflection()

void FScene::AddPlanarReflection ( class UPlanarReflectionComponent Component)
overridevirtual

Reimplemented from FSceneInterface.

◆ AddPrecomputedLightVolume()

void FScene::AddPrecomputedLightVolume ( const class FPrecomputedLightVolume Volume)
overridevirtual

Reimplemented from FSceneInterface.

◆ AddPrecomputedVolumetricLightmap()

void FScene::AddPrecomputedVolumetricLightmap ( const class FPrecomputedVolumetricLightmap Volume,
bool  bIsPersistentLevel 
)
overridevirtual

Reimplemented from FSceneInterface.

◆ AddPrimitive() [1/2]

void FScene::AddPrimitive ( FPrimitiveSceneDesc Primitive)
overridevirtual

Implements FSceneInterface.

◆ AddPrimitive() [2/2]

void FScene::AddPrimitive ( UPrimitiveComponent *  Primitive)
overridevirtual

Adds a new primitive component to the scene

Parameters
Primitive- primitive component to add

Implements FSceneInterface.

◆ AddReflectionCapture()

void FScene::AddReflectionCapture ( UReflectionCaptureComponent Component)
overridevirtual

Adds a reflection capture to the scene.

Reimplemented from FSceneInterface.

◆ AddRuntimeVirtualTexture()

void FScene::AddRuntimeVirtualTexture ( class URuntimeVirtualTextureComponent Component)
overridevirtual

Add a runtime virtual texture object to the scene.

Reimplemented from FSceneInterface.

◆ AddSkyAtmosphere()

void FScene::AddSkyAtmosphere ( FSkyAtmosphereSceneProxy SkyAtmosphereSceneProxy,
bool  bStaticLightingBuilt 
)
overridevirtual

Adds the unique volumetric cloud component to the scene

Parameters
SkyAtmosphereSceneProxy- the sky atmosphere proxy

Implements FSceneInterface.

◆ AddSparseVolumeTextureViewer()

void FScene::AddSparseVolumeTextureViewer ( FSparseVolumeTextureViewerSceneProxy SVTV)
overridevirtual

Implements FSceneInterface.

◆ AddSpeedTreeWind()

void FScene::AddSpeedTreeWind ( FVertexFactory VertexFactory,
const UStaticMesh StaticMesh 
)
overridevirtual

◆ AddVolumetricCloud()

void FScene::AddVolumetricCloud ( FVolumetricCloudSceneProxy VolumetricCloudSceneProxy)
overridevirtual

Adds the unique volumetric cloud component to the scene

Parameters
VolumetricCloudSceneProxy- the sky atmosphere proxy

Implements FSceneInterface.

◆ AddWindSource()

void FScene::AddWindSource ( UWindDirectionalSourceComponent WindComponent)
overridevirtual

Adds a wind source component to the scene.

Parameters
WindComponent- The component to add.

Implements FSceneInterface.

◆ AllocateAndCaptureFrameSkyEnvMap()

void FScene::AllocateAndCaptureFrameSkyEnvMap ( FRDGBuilder GraphBuilder,
FSceneRenderer SceneRenderer,
FViewInfo MainView,
bool  bShouldRenderSkyAtmosphere,
bool  bShouldRenderVolumetricCloud,
FInstanceCullingManager InstanceCullingManager,
FRDGExternalAccessQueue ExternalAccessQueue 
)
overridevirtual

This is only accessing data that is not changing between view orientation. Such data are accessed from the ViewUniformBuffer. See CubeView comment above.

Reimplemented from FSceneInterface.

◆ AllocateReflectionCaptures()

void FScene::AllocateReflectionCaptures ( const TArray< UReflectionCaptureComponent * > &  NewCaptures,
const TCHAR CaptureReason,
bool  bVerifyOnlyCapturing,
bool  bCapturingForMobile,
bool  bInsideTick 
)
overridevirtual

Allocates reflection captures in the scene's reflection cubemap array and updates them by recapturing the scene. Existing captures will only be uploaded. Must be called from the game thread.

Reimplemented from FSceneInterface.

◆ ApplyWorldOffset()

void FScene::ApplyWorldOffset ( const FVector InOffset)
overridevirtual

Shifts scene data by provided delta Called on world origin changes

Parameters
InOffsetDelta to shift scene by

Reimplemented from FSceneInterface.

◆ BatchAddPrimitives() [1/2]

void FScene::BatchAddPrimitives ( TArrayView< FPrimitiveSceneDesc * >  InPrimitives)
overridevirtual

Implements FSceneInterface.

◆ BatchAddPrimitives() [2/2]

void FScene::BatchAddPrimitives ( TArrayView< UPrimitiveComponent * >  InPrimitives)
overridevirtual

Batched versions of Add / Remove / ReleasePrimitive, for improved CPU performance

Implements FSceneInterface.

◆ BatchReleasePrimitives() [1/2]

void FScene::BatchReleasePrimitives ( TArrayView< FPrimitiveSceneDesc * >  InPrimitives)
overridevirtual

Implements FSceneInterface.

◆ BatchReleasePrimitives() [2/2]

void FScene::BatchReleasePrimitives ( TArrayView< UPrimitiveComponent * >  InPrimitives)
overridevirtual

Implements FSceneInterface.

◆ BatchRemovePrimitives() [1/3]

void FScene::BatchRemovePrimitives ( TArray< FPrimitiveSceneProxy * > &&  InPrimitives)
overridevirtual

Implements FSceneInterface.

◆ BatchRemovePrimitives() [2/3]

void FScene::BatchRemovePrimitives ( TArrayView< FPrimitiveSceneDesc * >  InPrimitives)
overridevirtual

Implements FSceneInterface.

◆ BatchRemovePrimitives() [3/3]

void FScene::BatchRemovePrimitives ( TArrayView< UPrimitiveComponent * >  InPrimitives)
overridevirtual

Implements FSceneInterface.

◆ BatchUpdateDecals()

void FScene::BatchUpdateDecals ( TArray< FDeferredDecalUpdateParams > &&  UpdateParams)
overridevirtual

Implements FSceneInterface.

◆ CanSampleSkyLightRealTimeCaptureData()

bool FScene::CanSampleSkyLightRealTimeCaptureData ( ) const

Return true if the real time sky light captured data is ready to be sampled

◆ DebugRender()

void FScene::DebugRender ( TArrayView< FViewInfo Views)

◆ DECLARE_MULTICAST_DELEGATE_TwoParams()

FScene::DECLARE_MULTICAST_DELEGATE_TwoParams ( FSceneLightSceneInfoUpdateDelegate  ,
FRDGBuilder ,
const FLightSceneChangeSet  
)

Light scene change delegates, may be used to hook in subsystems that need to respond to light scene changes. Note, all the light scene changes are applied before all the primitive scene infos are updated.

◆ DisableSkyLight()

void FScene::DisableSkyLight ( FSkyLightSceneProxy Light)
overridevirtual

Implements FSceneInterface.

◆ DumpMeshDrawCommandMemoryStats()

void FScene::DumpMeshDrawCommandMemoryStats ( )

◆ DumpUnbuiltLightInteractions()

void FScene::DumpUnbuiltLightInteractions ( FOutputDevice Ar) const
overridevirtual

Reimplemented from FSceneInterface.

◆ EndFrame()

void FScene::EndFrame ( FRHICommandListImmediate RHICmdList)
overridevirtual

Reimplemented from FSceneInterface.

◆ Export()

void FScene::Export ( FArchive Ar) const
overridevirtual

Exports the scene.

Parameters
ArThe Archive used for exporting.

Reimplemented from FSceneInterface.

◆ FindClosestPlanarReflection()

const FPlanarReflectionSceneProxy * FScene::FindClosestPlanarReflection ( const FBoxSphereBounds Bounds) const

◆ FindClosestReflectionCapture()

const FReflectionCaptureProxy * FScene::FindClosestReflectionCapture ( FVector  Position) const

Finds the closest reflection capture to a point in space, accounting influence radius

◆ FindClosestReflectionCaptures()

void FScene::FindClosestReflectionCaptures ( FVector  Position,
const FReflectionCaptureProxy *(&)  SortedByDistanceOUT[FPrimitiveSceneInfo::MaxCachedReflectionCaptureProxies] 
) const

◆ FindLumenSceneData()

FLumenSceneData * FScene::FindLumenSceneData ( uint32  ViewKey,
uint32  GPUIndex 
) const

◆ FlushDirtyRuntimeVirtualTextures()

void FScene::FlushDirtyRuntimeVirtualTextures ( )

Flush any dirty runtime virtual texture pages

◆ GetCachedShadowMapData()

FORCEINLINE const FCachedShadowMapData * FScene::GetCachedShadowMapData ( int32  LightID,
int32  ShadowMapIndex = 0 
) const
inline

◆ GetCachedShadowMapDataRef() [1/2]

FORCEINLINE FCachedShadowMapData & FScene::GetCachedShadowMapDataRef ( int32  LightID,
int32  ShadowMapIndex = 0 
)
inline

◆ GetCachedShadowMapDataRef() [2/2]

FORCEINLINE const FCachedShadowMapData & FScene::GetCachedShadowMapDataRef ( int32  LightID,
int32  ShadowMapIndex = 0 
) const
inline

◆ GetCachedShadowMapDatas()

FORCEINLINE TArray< FCachedShadowMapData > * FScene::GetCachedShadowMapDatas ( int32  LightID)
inline

◆ GetCachedTransmittanceAndMultiScatteringLUTsVersion()

uint32 FScene::GetCachedTransmittanceAndMultiScatteringLUTsVersion ( ) const
inline

◆ GetCachedWholeSceneShadowMapsSize()

int64 FScene::GetCachedWholeSceneShadowMapsSize ( ) const

◆ GetCacheMeshDrawCommandsTask()

const UE::Tasks::FTask & FScene::GetCacheMeshDrawCommandsTask ( ) const
inline

◆ GetCacheNaniteMaterialBinsTask()

const UE::Tasks::FTask & FScene::GetCacheNaniteMaterialBinsTask ( ) const
inline

◆ GetComputeTaskWorkers()

virtual void FScene::GetComputeTaskWorkers ( TArray< class IComputeTaskWorker * > &  OutWorkers) const
inlineoverridevirtual

Gets the compute work scheduler objects associated with the scene.

Reimplemented from FSceneInterface.

◆ GetCreateLightPrimitiveInteractionsTask()

const UE::Tasks::FTask & FScene::GetCreateLightPrimitiveInteractionsTask ( ) const
inline

◆ GetDefaultBasePassDepthStencilAccess()

FExclusiveDepthStencil::Type FScene::GetDefaultBasePassDepthStencilAccess ( ERHIFeatureLevel::Type  InFeatureLevel)
static

Get the default base pass depth stencil access

◆ GetDirectionalWindParameters()

void FScene::GetDirectionalWindParameters ( FVector OutDirection,
float OutSpeed,
float OutMinGustAmt,
float OutMaxGustAmt 
) const
overridevirtual

Same as GetWindParameters, but ignores point wind sources.

Implements FSceneInterface.

◆ GetEarlyZPassMode()

void FScene::GetEarlyZPassMode ( ERHIFeatureLevel::Type  InFeatureLevel,
EDepthDrawingMode OutZPassMode,
bool bOutEarlyZPassMovable 
)
static

Get the default base pass depth stencil access

◆ GetExtension() [1/2]

template<typename TExtension >
TExtension & FScene::GetExtension ( )
inline

◆ GetExtension() [2/2]

template<typename TExtension >
const TExtension & FScene::GetExtension ( ) const
inline

◆ GetExtensionPtr() [1/2]

template<typename TExtension >
TExtension * FScene::GetExtensionPtr ( )
inline

◆ GetExtensionPtr() [2/2]

template<typename TExtension >
const TExtension * FScene::GetExtensionPtr ( ) const
inline

◆ GetForceNoPrecomputedLighting()

bool FScene::GetForceNoPrecomputedLighting ( ) const
inline

◆ GetForwardPassGlobalPlanarReflection()

const FPlanarReflectionSceneProxy * FScene::GetForwardPassGlobalPlanarReflection ( ) const

◆ GetFrameNumber()

uint32 FScene::GetFrameNumber ( ) const
overridevirtual

Returns the current "FrameNumber" where frame corresponds to how many times FRendererModule::BeginRenderingViewFamilies has been called. Thread safe, and returns a different copy for game/render thread. GetFrameNumberRenderThread can only be called from the render thread.

Reimplemented from FSceneInterface.

◆ GetFrameNumberRenderThread()

uint32 FScene::GetFrameNumberRenderThread ( ) const
inline

◆ GetFullWorldName()

FString FScene::GetFullWorldName ( ) const
inline

◆ GetFXSystem()

FFXSystemInterface * FScene::GetFXSystem ( )
overridevirtual

Get the FX system associated with the scene.

Implements FSceneInterface.

◆ GetGPUSkinCache()

virtual class FGPUSkinCache * FScene::GetGPUSkinCache ( )
inlineoverridevirtual

Gets the GPU Skin Cache system associated with the scene.

Reimplemented from FSceneInterface.

◆ GetGPUSkinCacheTask()

const UE::Tasks::FTask & FScene::GetGPUSkinCacheTask ( ) const
inline

◆ GetGPUSkinUpdateTask()

const UE::Tasks::FTask & FScene::GetGPUSkinUpdateTask ( ) const
inline

◆ GetLightIESAtlasSlot()

void FScene::GetLightIESAtlasSlot ( const FLightSceneProxy Proxy,
FLightRenderParameters Out 
)
overridevirtual

Return the IES profile index corresponding to the local light proxy

Parameters
Proxy- the local light proxy
Out- the light parameters which will be filled with the IES profile index information

Implements FSceneInterface.

◆ GetLumenSceneData() [1/2]

FLumenSceneData * FScene::GetLumenSceneData ( const FSceneView View) const
inline

◆ GetLumenSceneData() [2/2]

FLumenSceneData * FScene::GetLumenSceneData ( const FViewInfo View) const
inline

◆ GetLumenSceneDataIterator()

FLumenSceneDataIterator FScene::GetLumenSceneDataIterator ( ) const
inline

◆ GetMaxPersistentPrimitiveIndex()

int32 FScene::GetMaxPersistentPrimitiveIndex ( ) const
inline

Maximum used persistent Primitive Index, use to size arrays that store primitive data indexed by FPrimitiveSceneInfo::PersistentIndex. Only changes during UpdateAllPrimitiveSceneInfos.

◆ GetMaxPersistentViewId()

int32 FScene::GetMaxPersistentViewId ( ) const
inline

Get the upper bound on the persistent view index.

◆ GetParameterCollectionBuffer()

FRHIUniformBuffer * FScene::GetParameterCollectionBuffer ( const FGuid InId) const
inline

◆ GetPreviousLocalToWorld()

bool FScene::GetPreviousLocalToWorld ( const FPrimitiveSceneInfo PrimitiveSceneInfo,
FMatrix OutPreviousLocalToWorld 
) const
overridevirtual

Get the primitive previous local to world (used for motion blur). Returns true if the matrix was set.

Reimplemented from FSceneInterface.

◆ GetPrimitiveIndex()

FORCEINLINE int32 FScene::GetPrimitiveIndex ( const FPersistentPrimitiveIndex PersistentPrimitiveIndex) const
inline

◆ GetPrimitiveSceneInfo() [1/3]

FPrimitiveSceneInfo * FScene::GetPrimitiveSceneInfo ( const FPersistentPrimitiveIndex PersistentPrimitiveIndex) const
finalvirtual

Implements FSceneInterface.

◆ GetPrimitiveSceneInfo() [2/3]

FPrimitiveSceneInfo * FScene::GetPrimitiveSceneInfo ( FPrimitiveComponentId  PrimitiveId) const
finalvirtual

Finds the primitive with the associated component id.

Implements FSceneInterface.

◆ GetPrimitiveSceneInfo() [3/3]

FPrimitiveSceneInfo * FScene::GetPrimitiveSceneInfo ( int32  PrimitiveIndex) const
finalvirtual

Finds the primitive with the associated index into the primitive array.

Implements FSceneInterface.

◆ GetPrimitiveSceneProxies()

virtual TConstArrayView< FPrimitiveSceneProxy * > FScene::GetPrimitiveSceneProxies ( ) const
inlinefinalvirtual

Implements FSceneInterface.

◆ GetPrimitiveUniformShaderParameters_RenderThread()

void FScene::GetPrimitiveUniformShaderParameters_RenderThread ( const FPrimitiveSceneInfo PrimitiveSceneInfo,
bool bHasPrecomputedVolumetricLightmap,
FMatrix PreviousLocalToWorld,
int32 SingleCaptureIndex,
bool OutputVelocity 
) const
overridevirtual

Retrieves primitive uniform shader parameters that are internal to the renderer.

Reimplemented from FSceneInterface.

◆ GetRectLightAtlasSlot()

void FScene::GetRectLightAtlasSlot ( const FRectLightSceneProxy Proxy,
FLightRenderParameters Out 
)
overridevirtual

Return the rect. light atlas slot information corresponding to the rect light proxy

Parameters
Proxy- the rect light proxy
Out- the light parameters which will be filled with the rect light atlas information

Implements FSceneInterface.

◆ GetReflectionCaptureData()

void FScene::GetReflectionCaptureData ( UReflectionCaptureComponent Component,
class FReflectionCaptureData OutCaptureData 
)
overridevirtual

Reads back reflection capture data from the GPU. Very slow operation that blocks the GPU and rendering thread many times.

Reimplemented from FSceneInterface.

◆ GetRelevantLights()

void FScene::GetRelevantLights ( UPrimitiveComponent *  Primitive,
TArray< const ULightComponent * > *  RelevantLights 
) const
overridevirtual

Retrieves the lights interacting with the passed in primitive and adds them to the out array.

Parameters
PrimitivePrimitive to retrieve interacting lights for
RelevantLights[out] Array of lights interacting with primitive

Implements FSceneInterface.

◆ GetRelevantLights_RenderThread()

void FScene::GetRelevantLights_RenderThread ( const FPrimitiveSceneProxy PrimitiveSceneProxy,
TArray< const FLightSceneProxy * > &  OutRelevantLights 
) const

Retrieves the lights interacting with the passed in primitive and adds them to the out array. Render thread version of function.

Parameters
PrimitiveSceneProxyProxy of Primitive to retrieve interacting lights for
RelevantLights[out] Array of lights interacting with primitive

Retrieves the lights interacting with the passed in primitive and adds them to the out array.

Render thread version of function.

Parameters
PrimitivePrimitive to retrieve interacting lights for
RelevantLights[out] Array of lights interacting with primitive

◆ GetRenderScene() [1/2]

virtual const FScene * FScene::GetRenderScene ( ) const
inlinefinalvirtual

Implements FSceneInterface.

◆ GetRenderScene() [2/2]

virtual FScene * FScene::GetRenderScene ( )
inlinefinalvirtual

Return the scene to be used for rendering

Implements FSceneInterface.

◆ GetRuntimeVirtualTextureHidePrimitiveMask()

void FScene::GetRuntimeVirtualTextureHidePrimitiveMask ( uint8 bHideMaskEditor,
uint8 bHideMaskGame 
) const
overridevirtual

Reimplemented from FSceneInterface.

◆ GetScenePrimitiveComponentIds()

virtual TConstArrayView< FPrimitiveComponentId > FScene::GetScenePrimitiveComponentIds ( ) const
inlinefinalvirtual

Returns the FPrimitiveComponentId for all primitives in the scene

Implements FSceneInterface.

◆ GetSizeBytes()

SIZE_T FScene::GetSizeBytes ( ) const

◆ GetSkeletalMeshUpdater()

virtual class FSkeletalMeshUpdater * FScene::GetSkeletalMeshUpdater ( )
inlineoverridevirtual

Reimplemented from FSceneInterface.

◆ GetSkyAtmosphereSceneInfo() [1/2]

virtual const FSkyAtmosphereRenderSceneInfo * FScene::GetSkyAtmosphereSceneInfo ( ) const
inlineoverridevirtual

Implements FSceneInterface.

◆ GetSkyAtmosphereSceneInfo() [2/2]

virtual FSkyAtmosphereRenderSceneInfo * FScene::GetSkyAtmosphereSceneInfo ( )
inlineoverridevirtual

Returns the scene's unique info if it exists

Implements FSceneInterface.

◆ GetSpeedTreeUniformBuffer()

FRHIUniformBuffer * FScene::GetSpeedTreeUniformBuffer ( const FVertexFactory VertexFactory) const
overridevirtual

Looks up the SpeedTree uniform buffer for the passed in vertex factory.

Parameters
VertexFactory- The vertex factory registered for SpeedTree.

Implements FSceneInterface.

◆ GetVirtualShadowMapCache()

FVirtualShadowMapArrayCacheManager * FScene::GetVirtualShadowMapCache ( )

◆ GetVolumetricCloudSceneInfo() [1/2]

virtual const FVolumetricCloudRenderSceneInfo * FScene::GetVolumetricCloudSceneInfo ( ) const
inlineoverridevirtual

Implements FSceneInterface.

◆ GetVolumetricCloudSceneInfo() [2/2]

virtual FVolumetricCloudRenderSceneInfo * FScene::GetVolumetricCloudSceneInfo ( )
inlineoverridevirtual

Returns the scene's unique info if it exists

Implements FSceneInterface.

◆ GetWindParameters()

void FScene::GetWindParameters ( const FVector Position,
FVector OutDirection,
float OutSpeed,
float OutMinGustAmt,
float OutMaxGustAmt 
) const
overridevirtual

Accesses wind parameters. XYZ will contain wind direction * Strength, W contains wind speed.

Implements FSceneInterface.

◆ GetWindParameters_GameThread()

void FScene::GetWindParameters_GameThread ( const FVector Position,
FVector OutDirection,
float OutSpeed,
float OutMinGustAmt,
float OutMaxGustAmt 
) const
overridevirtual

Accesses wind parameters safely for game thread applications

Implements FSceneInterface.

◆ GetWindSources_RenderThread()

const TArray< FWindSourceSceneProxy * > & FScene::GetWindSources_RenderThread ( ) const
overridevirtual

Accesses the wind source list. Must be called in the rendering thread.

Returns
The list of wind sources in the scene.

Implements FSceneInterface.

◆ GetWorld()

virtual UWorld * FScene::GetWorld ( ) const
inlineoverridevirtual

Get the optional UWorld that is associated with this scene

Returns
UWorld instance used by this scene

Implements FSceneInterface.

◆ HasAnyExponentialHeightFog()

bool FScene::HasAnyExponentialHeightFog ( ) const
overridevirtual
Returns
True if there are any exponential height fog potentially enabled in the scene

Implements FSceneInterface.

◆ HasAnyLights()

virtual bool FScene::HasAnyLights ( ) const
inlineoverridevirtual
Returns
True if there are any lights in the scene

Implements FSceneInterface.

◆ HasAnyLocalFogVolume()

bool FScene::HasAnyLocalFogVolume ( ) const
overridevirtual
Returns
True if there are any local height fog potentially enabled in the scene

Implements FSceneInterface.

◆ HasAtmosphereLightRequiringLightingBuild()

bool FScene::HasAtmosphereLightRequiringLightingBuild ( ) const
overridevirtual

Implements FSceneInterface.

◆ HasPrecomputedVolumetricLightmap_RenderThread()

bool FScene::HasPrecomputedVolumetricLightmap_RenderThread ( ) const
overridevirtual

Reimplemented from FSceneInterface.

◆ HasSkyAtmosphere()

bool FScene::HasSkyAtmosphere ( ) const
inline

◆ HasSkyLightRequiringLightingBuild()

bool FScene::HasSkyLightRequiringLightingBuild ( ) const
overridevirtual

Implements FSceneInterface.

◆ HasVolumetricCloud()

bool FScene::HasVolumetricCloud ( ) const
inline

◆ IncrementFrameNumber()

void FScene::IncrementFrameNumber ( )
overridevirtual

Reimplemented from FSceneInterface.

◆ InvalidateLumenSurfaceCache_GameThread()

void FScene::InvalidateLumenSurfaceCache_GameThread ( UPrimitiveComponent *  Component)
overridevirtual

Invalidates Lumen surface cache and forces it to be refreshed. Useful to make material updates more responsive.

Reimplemented from FSceneInterface.

◆ InvalidatePathTracedOutput()

void FScene::InvalidatePathTracedOutput ( PathTracing::EInvalidateReason  InvalidateReason = PathTracing::EInvalidateReason::Uncategorized)
overridevirtual

Mark scene as needing to restart path tracer accumulation.

Reimplemented from FSceneInterface.

◆ InvalidateRuntimeVirtualTexture()

void FScene::InvalidateRuntimeVirtualTexture ( class URuntimeVirtualTextureComponent Component,
FBoxSphereBounds const &  WorldBounds,
EVTInvalidatePriority  InvalidatePriority 
)
overridevirtual

Invalidates pages in a runtime virtual texture object.

Parameters
ComponentRVT component containing the runtime virtual texture to invalidate
WorldBoundsWorld-space bounds of the area of the runtime virtual texture to invalidate
InvalidatePriorityEnsures the corresponding pages get processed in priority. This allows increased responsiveness when there are more pages being updated than can be handled in a given frame (when throttling)

Reimplemented from FSceneInterface.

◆ IsEditorScene()

virtual bool FScene::IsEditorScene ( ) const
inlineoverridevirtual

Reimplemented from FSceneInterface.

◆ IsSecondAtmosphereLightEnabled()

bool FScene::IsSecondAtmosphereLightEnabled ( )
inline

◆ LumenAddPrimitive()

void FScene::LumenAddPrimitive ( FPrimitiveSceneInfo InPrimitive)

◆ LumenInvalidateSurfaceCacheForPrimitive()

void FScene::LumenInvalidateSurfaceCacheForPrimitive ( FPrimitiveSceneInfo InPrimitive)

◆ LumenRemovePrimitive()

void FScene::LumenRemovePrimitive ( FPrimitiveSceneInfo InPrimitive,
int32  PrimitiveIndex 
)

◆ LumenUpdatePrimitive()

void FScene::LumenUpdatePrimitive ( FPrimitiveSceneInfo InPrimitive)

◆ OnLevelAddedToWorld()

void FScene::OnLevelAddedToWorld ( const FName InLevelName,
UWorld InWorld,
bool  bIsLightingScenario 
)
overridevirtual

Notification that level was added to a world

Parameters
InLevelNameLevel name

Reimplemented from FSceneInterface.

◆ OnLevelRemovedFromWorld()

void FScene::OnLevelRemovedFromWorld ( const FName LevelRemovedName,
UWorld InWorld,
bool  bIsLightingScenario 
)
overridevirtual

Reimplemented from FSceneInterface.

◆ OnWorldCleanup()

void FScene::OnWorldCleanup ( )
overridevirtual

Reimplemented from FSceneInterface.

◆ ProcessAndRenderIlluminanceMeter()

void FScene::ProcessAndRenderIlluminanceMeter ( FRDGBuilder GraphBuilder,
TArrayView< FViewInfo Views,
FRDGTextureRef  SceneColorTexture 
)
virtual

Reimplemented from FSceneInterface.

◆ ProcessViewChanges()

FViewSceneChangeSet * FScene::ProcessViewChanges ( FRDGBuilder GraphBuilder,
TConstArrayView< FViewInfo * >  AllViews 
)

Determines added & removed view states based on the rendered views passed in & the RemovedViews.

◆ RefreshNaniteRasterBins()

void FScene::RefreshNaniteRasterBins ( FPrimitiveSceneInfo PrimitiveSceneInfo)
overridevirtual

Reimplemented from FSceneInterface.

◆ RegisterAnimBank()

TArray< FAnimBankRecordHandle > FScene::RegisterAnimBank ( const TConstArrayView< struct FAnimBankDesc Descs)
overridevirtual

◆ Release()

void FScene::Release ( )
overridevirtual

Release this scene and remove it from the rendering thread

Implements FSceneInterface.

◆ ReleasePrimitive() [1/2]

void FScene::ReleasePrimitive ( FPrimitiveSceneDesc Primitive)
overridevirtual

Implements FSceneInterface.

◆ ReleasePrimitive() [2/2]

void FScene::ReleasePrimitive ( UPrimitiveComponent *  Primitive)
overridevirtual

Called when a primitive is being unregistered and will not be immediately re-registered.

Implements FSceneInterface.

◆ ReleaseReflectionCubemap()

void FScene::ReleaseReflectionCubemap ( UReflectionCaptureComponent CaptureComponent)
overridevirtual

Reimplemented from FSceneInterface.

◆ ReloadNaniteFixedFunctionBins()

void FScene::ReloadNaniteFixedFunctionBins ( )
overridevirtual

Reimplemented from FSceneInterface.

◆ RemoveDecal()

void FScene::RemoveDecal ( UDecalComponent Component)
overridevirtual

Removes a decal component from the scene

Parameters
Component- component to remove

Implements FSceneInterface.

◆ RemoveExponentialHeightFog()

void FScene::RemoveExponentialHeightFog ( uint64  Id)
overridevirtual

Removes a exponential height fog component from the scene

Parameters
FogComponent- fog component to remove

Implements FSceneInterface.

◆ RemoveHairStrands()

void FScene::RemoveHairStrands ( FHairStrandsInstance Proxy)
overridevirtual

Removes a hair strands proxy to the scene

Parameters
Proxy- the hair strands proxy

Implements FSceneInterface.

◆ RemoveLight()

void FScene::RemoveLight ( ULightComponent Light)
overridevirtual

Removes a light component from the scene

Parameters
Light- light component to remove

Implements FSceneInterface.

◆ RemoveLocalFogVolume()

void FScene::RemoveLocalFogVolume ( class FLocalFogVolumeSceneProxy FogProxy)
overridevirtual

Removes a local height fog component from the scene

Parameters
FogProxy- fog proxy to remove

Implements FSceneInterface.

◆ RemovePlanarReflection()

void FScene::RemovePlanarReflection ( UPlanarReflectionComponent Component)
overridevirtual

Reimplemented from FSceneInterface.

◆ RemovePrecomputedLightVolume()

void FScene::RemovePrecomputedLightVolume ( const class FPrecomputedLightVolume Volume)
overridevirtual

Reimplemented from FSceneInterface.

◆ RemovePrecomputedVolumetricLightmap()

void FScene::RemovePrecomputedVolumetricLightmap ( const class FPrecomputedVolumetricLightmap Volume)
overridevirtual

Reimplemented from FSceneInterface.

◆ RemovePrimitive() [1/2]

void FScene::RemovePrimitive ( FPrimitiveSceneDesc Primitive)
overridevirtual

Implements FSceneInterface.

◆ RemovePrimitive() [2/2]

void FScene::RemovePrimitive ( UPrimitiveComponent *  Primitive)
overridevirtual

Removes a primitive component from the scene

Parameters
Primitive- primitive component to remove

Implements FSceneInterface.

◆ RemoveReflectionCapture()

void FScene::RemoveReflectionCapture ( UReflectionCaptureComponent Component)
overridevirtual

Removes a reflection capture from the scene.

Reimplemented from FSceneInterface.

◆ RemoveRuntimeVirtualTexture()

void FScene::RemoveRuntimeVirtualTexture ( class URuntimeVirtualTextureComponent Component)
overridevirtual

Removes a runtime virtual texture object from the scene.

Reimplemented from FSceneInterface.

◆ RemoveSkyAtmosphere()

void FScene::RemoveSkyAtmosphere ( FSkyAtmosphereSceneProxy SkyAtmosphereSceneProxy)
overridevirtual

Removes the unique volumetric cloud component to the scene

Parameters
SkyAtmosphereSceneProxy- the sky atmosphere proxy

Implements FSceneInterface.

◆ RemoveSparseVolumeTextureViewer()

void FScene::RemoveSparseVolumeTextureViewer ( FSparseVolumeTextureViewerSceneProxy SVTV)
overridevirtual

Implements FSceneInterface.

◆ RemoveSpeedTreeWind_RenderThread()

void FScene::RemoveSpeedTreeWind_RenderThread ( FVertexFactory VertexFactory,
const UStaticMesh StaticMesh 
)
overridevirtual

◆ RemoveVolumetricCloud()

void FScene::RemoveVolumetricCloud ( FVolumetricCloudSceneProxy VolumetricCloudSceneProxy)
overridevirtual

Removes the unique volumetric cloud component to the scene

Parameters
VolumetricCloudSceneProxy- the sky atmosphere proxy

Implements FSceneInterface.

◆ RemoveWindSource()

void FScene::RemoveWindSource ( UWindDirectionalSourceComponent WindComponent)
overridevirtual

Removes a wind source component from the scene.

Parameters
WindComponent- The component to remove.

Implements FSceneInterface.

◆ RequestGPUSceneUpdate()

bool FScene::RequestGPUSceneUpdate ( FPrimitiveSceneInfo PrimitiveSceneInfo,
EPrimitiveDirtyState  PrimitiveDirtyState 
)
overridevirtual

Reimplemented from FSceneInterface.

◆ RequestPreloadRuntimeVirtualTexture()

void FScene::RequestPreloadRuntimeVirtualTexture ( class URuntimeVirtualTextureComponent Component,
FBoxSphereBounds const &  WorldBounds,
int32  Level 
)
overridevirtual

Request preload of an area of a runtime virtual texture at a given mip level.

Reimplemented from FSceneInterface.

◆ RequestUniformBufferUpdate()

bool FScene::RequestUniformBufferUpdate ( FPrimitiveSceneInfo PrimitiveSceneInfo)
overridevirtual

Reimplemented from FSceneInterface.

◆ RequiresDebugMaterials()

bool FScene::RequiresDebugMaterials ( ) const
inline

Returns true if the scene requires the use of debug material permutations.

◆ RequiresHitProxies()

bool FScene::RequiresHitProxies ( ) const
overridevirtual
Returns
true if hit proxies should be rendered in this scene.

Implements FSceneInterface.

◆ ResetAtmosphereLightsProperties()

void FScene::ResetAtmosphereLightsProperties ( )

◆ ResetPhysicsField()

void FScene::ResetPhysicsField ( )
overridevirtual

Reset the physics field scene proxy

Implements FSceneInterface.

◆ ResetReflectionCaptures()

void FScene::ResetReflectionCaptures ( bool  bOnlyIfOOM)
overridevirtual

Resets reflection capture data to allow it to be rebuilt from scratch. Allows shrinking of the number of items in the capture array, which otherwise only grows. This can allow the user to solve cases where an out of memory (OOM) condition prevented captures from being generated. The user can remove some items or reduce the capture resolution to fix the issue, and run "Build Reflection Captures" (which calls this function), instead of needing to restart the editor. The flag "bOnlyIfOOM" only does the reset if an OOM had occurred.

Reimplemented from FSceneInterface.

◆ SetCachedTransmittanceAndMultiScatteringLUTsVersion()

void FScene::SetCachedTransmittanceAndMultiScatteringLUTsVersion ( uint32  NewTransmittanceAndMultiScatteringLUTsVersion)
inline

◆ SetFXSystem()

void FScene::SetFXSystem ( class FFXSystemInterface InFXSystem)
overridevirtual

Sets the FX system associated with the scene.

Implements FSceneInterface.

◆ SetPhysicsField()

void FScene::SetPhysicsField ( class FPhysicsFieldSceneProxy PhysicsFieldSceneProxy)
overridevirtual

Set the physics field scene proxy to the scene

Parameters
PhysicsFieldSceneProxy- the physics field scene proxy

Implements FSceneInterface.

◆ SetPrecomputedVisibility()

void FScene::SetPrecomputedVisibility ( const FPrecomputedVisibilityHandler NewPrecomputedVisibilityHandler)
overridevirtual

Sets the precomputed visibility handler for the scene, or NULL to clear the current one.

◆ SetSkyLight()

void FScene::SetSkyLight ( FSkyLightSceneProxy Light)
overridevirtual

Implements FSceneInterface.

◆ ShouldRenderSkylightInBasePass()

bool FScene::ShouldRenderSkylightInBasePass ( bool  bIsTranslucent) const

◆ ShowPhysicsField()

void FScene::ShowPhysicsField ( )
overridevirtual

Set the shader print/debug cvars to be able to show the fields

Implements FSceneInterface.

◆ StartFrame()

virtual void FScene::StartFrame ( )
inlineoverridevirtual

Reimplemented from FSceneInterface.

◆ UnregisterAnimBank()

void FScene::UnregisterAnimBank ( const TConstArrayView< FAnimBankRecordHandle Handles)
overridevirtual

Implements FSceneInterface.

◆ Update()

void FScene::Update ( FRDGBuilder GraphBuilder,
const FUpdateParameters Parameters 
)

◆ UpdateAllPrimitiveSceneInfos() [1/3]

void FScene::UpdateAllPrimitiveSceneInfos ( FRDGBuilder GraphBuilder,
EUpdateAllPrimitiveSceneInfosAsyncOps  AsyncOps = EUpdateAllPrimitiveSceneInfosAsyncOps::None 
)
overridevirtual

Updates all primitive scene info additions, remobals and translation changes

Implements FSceneInterface.

◆ UpdateAllPrimitiveSceneInfos() [2/3]

virtual void FSceneInterface::UpdateAllPrimitiveSceneInfos ( FRDGBuilder GraphBuilder,
EUpdateAllPrimitiveSceneInfosAsyncOps  AsyncOps = EUpdateAllPrimitiveSceneInfosAsyncOps::None 
)
virtual

Updates all primitive scene info additions, remobals and translation changes

Implements FSceneInterface.

◆ UpdateAllPrimitiveSceneInfos() [3/3]

void FSceneInterface::UpdateAllPrimitiveSceneInfos ( FRHICommandListImmediate RHICmdList)

◆ UpdateCachedRenderStates()

void FScene::UpdateCachedRenderStates ( FPrimitiveSceneProxy SceneProxy)
overridevirtual

Update render states that possibly cached inside renderer, like mesh draw commands. More lightweight than re-registering the scene proxy.

Reimplemented from FSceneInterface.

◆ UpdateCustomPrimitiveData() [1/2]

void FScene::UpdateCustomPrimitiveData ( FPrimitiveSceneDesc Primitive,
const FCustomPrimitiveData CustomPrimitiveData 
)
overridevirtual

Implements FSceneInterface.

◆ UpdateCustomPrimitiveData() [2/2]

void FScene::UpdateCustomPrimitiveData ( UPrimitiveComponent *  Primitive)
overridevirtual

Updates the custom primitive data of a primitive component which has already been added to the scene.

Parameters
Primitive- Primitive component to update

Implements FSceneInterface.

◆ UpdateDecalFadeInTime()

void FScene::UpdateDecalFadeInTime ( UDecalComponent Decal)
overridevirtual

Implements FSceneInterface.

◆ UpdateDecalFadeOutTime()

void FScene::UpdateDecalFadeOutTime ( UDecalComponent Decal)
overridevirtual

Implements FSceneInterface.

◆ UpdateDecalTransform()

void FScene::UpdateDecalTransform ( UDecalComponent Component)
overridevirtual

Updates the transform of a decal which has already been added to the scene.

Parameters
Decal- Decal component to update

Implements FSceneInterface.

◆ UpdateEarlyZPassMode()

void FScene::UpdateEarlyZPassMode ( )
overridevirtual

Reimplemented from FSceneInterface.

◆ UpdateInstanceCullDistance()

void FScene::UpdateInstanceCullDistance ( UPrimitiveComponent *  Primitive,
float  StartCullDistance,
float  EndCullDistance 
)
overridevirtual

Implements FSceneInterface.

◆ UpdateLightColorAndBrightness()

void FScene::UpdateLightColorAndBrightness ( ULightComponent Light)
overridevirtual

Updates the color and brightness of a light which has already been added to the scene.

Parameters
Light- light component to update

Implements FSceneInterface.

◆ UpdateLightProxy()

void FScene::UpdateLightProxy ( ULightComponent Light,
TFunction< void(FLightSceneProxy *)> &&  Func 
)
overridevirtual

Implements FSceneInterface.

◆ UpdateLightTransform()

void FScene::UpdateLightTransform ( ULightComponent Light)
overridevirtual

Updates the transform of a light which has already been added to the scene.

Parameters
Light- light component to update

Implements FSceneInterface.

◆ UpdateParameterCollections()

void FScene::UpdateParameterCollections ( const TArray< FMaterialParameterCollectionInstanceResource * > &  InParameterCollections)
overridevirtual

Updates the scene's list of parameter collection id's and their uniform buffers.

Reimplemented from FSceneInterface.

◆ UpdatePhysicsField()

void FScene::UpdatePhysicsField ( FRDGBuilder GraphBuilder,
FViewInfo View 
)
overridevirtual

Reset the physics field scene proxy

Implements FSceneInterface.

◆ UpdatePlanarReflectionContents()

void FScene::UpdatePlanarReflectionContents ( UPlanarReflectionComponent CaptureComponent,
FSceneRenderer MainSceneRenderer,
ISceneRenderBuilder SceneRenderBuilder 
)
overridevirtual

Reimplemented from FSceneInterface.

◆ UpdatePlanarReflectionTransform()

void FScene::UpdatePlanarReflectionTransform ( UPlanarReflectionComponent Component)
overridevirtual

Reimplemented from FSceneInterface.

◆ UpdatePrimitiveAttachment()

void FScene::UpdatePrimitiveAttachment ( UPrimitiveComponent *  Primitive)
overridevirtual

Updates primitive attachment state.

Implements FSceneInterface.

◆ UpdatePrimitiveDistanceFieldSceneData_GameThread()

void FScene::UpdatePrimitiveDistanceFieldSceneData_GameThread ( UPrimitiveComponent *  Primitive)
overridevirtual

Updates distance field scene data (transforms, uv scale, self-shadow bias, etc.) but doesn't change allocation in the atlas

Reimplemented from FSceneInterface.

◆ UpdatePrimitiveDrawDistance()

void FScene::UpdatePrimitiveDrawDistance ( UPrimitiveComponent *  Primitive,
float  MinDrawDistance,
float  MaxDrawDistance,
float  VirtualTextureMaxDrawDistance 
)
overridevirtual

Implements FSceneInterface.

◆ UpdatePrimitiveInstances() [1/3]

void FScene::UpdatePrimitiveInstances ( FInstancedStaticMeshSceneDesc Primitive)
overridevirtual

Implements FSceneInterface.

◆ UpdatePrimitiveInstances() [2/3]

void FScene::UpdatePrimitiveInstances ( FPrimitiveSceneDesc Primitive)
overridevirtual

Implements FSceneInterface.

◆ UpdatePrimitiveInstances() [3/3]

void FScene::UpdatePrimitiveInstances ( UPrimitiveComponent *  Primitive)
overridevirtual

Call to notify that an instace proxy update has been queued for the primitive.

Parameters
Primitive- primitive component to update

Implements FSceneInterface.

◆ UpdatePrimitiveInstancesFromCompute()

void FScene::UpdatePrimitiveInstancesFromCompute ( FPrimitiveSceneDesc Primitive,
FGPUSceneWriteDelegate &&  DataWriterGPU 
)
overridevirtual

Implements FSceneInterface.

◆ UpdatePrimitiveOcclusionBoundsSlack()

void FScene::UpdatePrimitiveOcclusionBoundsSlack ( UPrimitiveComponent *  Primitive,
float  NewSlack 
)
overridevirtual

Implements FSceneInterface.

◆ UpdatePrimitivesDrawnInGame_RenderThread()

void FScene::UpdatePrimitivesDrawnInGame_RenderThread ( TArrayView< FPrimitiveSceneProxy * >  PrimitiveSceneProxies,
bool  bDrawnInGame 
)
overridevirtual

Update the DrawnInGame flag on the provided scene proxies

Implements FSceneInterface.

◆ UpdatePrimitiveSelectedState_RenderThread()

void FScene::UpdatePrimitiveSelectedState_RenderThread ( const FPrimitiveSceneInfo PrimitiveSceneInfo,
bool  bIsSelected 
)
overridevirtual

Updates PrimitivesSelected array for this PrimitiveSceneInfo

Reimplemented from FSceneInterface.

◆ UpdatePrimitiveTransform() [1/2]

void FScene::UpdatePrimitiveTransform ( FPrimitiveSceneDesc Primitive)
overridevirtual

Implements FSceneInterface.

◆ UpdatePrimitiveTransform() [2/2]

void FScene::UpdatePrimitiveTransform ( UPrimitiveComponent *  Primitive)
overridevirtual

Updates the transform of a primitive which has already been added to the scene.

Parameters
Primitive- primitive component to update

Implements FSceneInterface.

◆ UpdatePrimitiveTransform_RenderThread()

void FScene::UpdatePrimitiveTransform_RenderThread ( FPrimitiveSceneProxy PrimitiveSceneProxy,
const FBoxSphereBounds WorldBounds,
const FBoxSphereBounds LocalBounds,
const FMatrix LocalToWorld,
const FVector OwnerPosition,
const TOptional< FTransform > &  PreviousTransform 
)

Updates a primitive's transform, called on the rendering thread.

◆ UpdatePrimitiveVelocityState_RenderThread()

void FScene::UpdatePrimitiveVelocityState_RenderThread ( FPrimitiveSceneInfo PrimitiveSceneInfo,
bool  bIsBeingMoved 
)
overridevirtual

Updates the velocity state values that might be cached inside the renderer

Reimplemented from FSceneInterface.

◆ UpdateReflectionCaptureTransform()

void FScene::UpdateReflectionCaptureTransform ( UReflectionCaptureComponent Component)
overridevirtual

Updates a reflection capture's transform, and then re-captures the scene.

Reimplemented from FSceneInterface.

◆ UpdateSceneCaptureContents() [1/2]

void FScene::UpdateSceneCaptureContents ( class USceneCaptureComponent2D CaptureComponent,
ISceneRenderBuilder SceneRenderBuilder 
)
overridevirtual

Updates the contents of the given scene capture by rendering the scene. This must be called on the game thread.

Reimplemented from FSceneInterface.

◆ UpdateSceneCaptureContents() [2/2]

void FScene::UpdateSceneCaptureContents ( class USceneCaptureComponentCube CaptureComponent,
ISceneRenderBuilder SceneRenderBuilder 
)
overridevirtual

Creates a transformation for a cubemap face, following the D3D cubemap layout.

Reimplemented from FSceneInterface.

◆ UpdateSceneSettings()

void FScene::UpdateSceneSettings ( AWorldSettings WorldSettings)
overridevirtual

Reimplemented from FSceneInterface.

◆ UpdateSkyCaptureContents()

void FScene::UpdateSkyCaptureContents ( const USkyLightComponent CaptureComponent,
bool  bCaptureEmissiveOnly,
UTextureCube SourceCubemap,
FTexture OutProcessedTexture,
float OutAverageBrightness,
FSHVectorRGB3 OutIrradianceEnvironmentMap,
TArray< FFloat16Color > *  OutRadianceMap,
FLinearColor SpecifiedCubemapColorScale 
)
overridevirtual

Updates the contents of the given sky capture by rendering the scene. This must be called on the game thread.

Reimplemented from FSceneInterface.

◆ UpdateSpeedTreeWind()

void FScene::UpdateSpeedTreeWind ( double  CurrentTime)
overridevirtual

Ticks the SpeedTree wind object and updates the uniform buffer.

Implements FSceneInterface.

◆ UpdateStaticDrawLists()

void FScene::UpdateStaticDrawLists ( )
overridevirtual

Updates all static draw lists.

Reimplemented from FSceneInterface.

◆ UpdateWindSource()

void FScene::UpdateWindSource ( UWindDirectionalSourceComponent WindComponent)
overridevirtual

Update a wind source component from the scene.

Parameters
WindComponent- The component to update.

Implements FSceneInterface.

◆ ValidateSkyLightRealTimeCapture()

void FScene::ValidateSkyLightRealTimeCapture ( FRDGBuilder GraphBuilder,
const FViewInfo View,
FRDGTextureRef  SceneColorTexture 
)
overridevirtual

Reimplemented from FSceneInterface.

◆ WaitForCacheMeshDrawCommandsTask()

void FScene::WaitForCacheMeshDrawCommandsTask ( )
inline

◆ WaitForCacheNaniteMaterialBinsTask()

void FScene::WaitForCacheNaniteMaterialBinsTask ( )
inline

◆ WaitForCreateLightPrimitiveInteractionsTask()

void FScene::WaitForCreateLightPrimitiveInteractionsTask ( )
inline

Friends And Related Symbol Documentation

◆ FSceneViewState

friend class FSceneViewState
friend

Member Data Documentation

◆ AtmosphereLights

FLightSceneInfo* FScene::AtmosphereLights[NUM_ATMOSPHERE_LIGHTS]

The light sources for atmospheric effects, if any.

◆ AttachmentGroups

The attachment groups in the scene. The map key is the attachment group's root primitive.

◆ bCachedShouldRenderSkylightInBasePass

bool FScene::bCachedShouldRenderSkylightInBasePass

Previous frame SkyLight state.

◆ bCachedSkyLightRealTimeCapture

bool FScene::bCachedSkyLightRealTimeCapture

Previous frame was using skylight realtime capture or not

◆ bEarlyZPassMovable

bool FScene::bEarlyZPassMovable

Early Z pass movable.

◆ bIsEditorScene

bool FScene::bIsEditorScene

Whether this is an editor scene.

◆ bRequiresHitProxies

bool FScene::bRequiresHitProxies

Indicates whether this scene requires hit proxy rendering.

◆ bRuntimeVirtualTexturePrimitiveHideEditor

bool FScene::bRuntimeVirtualTexturePrimitiveHideEditor

Determines whether primitives that draw to a runtime virtual texture should also be drawn in the main pass.

◆ bRuntimeVirtualTexturePrimitiveHideGame

bool FScene::bRuntimeVirtualTexturePrimitiveHideGame

◆ bScenesPrimitivesNeedStaticMeshElementUpdate

bool FScene::bScenesPrimitivesNeedStaticMeshElementUpdate

True if a change to SkyLight / Lighting has occurred that requires static draw lists to be updated.

◆ CachedDefaultBasePassDepthStencilAccess

FExclusiveDepthStencil::Type FScene::CachedDefaultBasePassDepthStencilAccess

Default base pass depth stencil access used to cache mesh draw commands.

◆ CachedDrawLists

FCachedPassMeshDrawList FScene::CachedDrawLists[EMeshPass::Num]

◆ CachedMeshDrawCommandStateBuckets

FStateBucketMap FScene::CachedMeshDrawCommandStateBuckets[EMeshPass::Num]

Instancing state buckets. These are stored on the scene as they are precomputed at FPrimitiveSceneInfo::AddToScene time.

◆ CachedPreshadows

TArray<TRefCountPtr<FProjectedShadowInfo> > FScene::CachedPreshadows

Preshadows that are currently cached in the PreshadowCache render target.

◆ CachedShadowMaps

TMap<int32, TArray<FCachedShadowMapData> > FScene::CachedShadowMaps

Map from light id to the cached shadowmap data for that light.

◆ CachedTransmittanceAndMultiScatteringLUTsVersion

uint32 FScene::CachedTransmittanceAndMultiScatteringLUTsVersion

A value representing the state of the SkyAtmosphere to know if we need to update some psecific LUTs

◆ CapturedSkyRenderTarget

TRefCountPtr<IPooledRenderTarget> FScene::CapturedSkyRenderTarget

If sky light bRealTimeCaptureEnabled is true, used to render the sky env map (sky, sky dome mesh or clouds).

◆ ComputeTaskWorkers

TArray<class IComputeTaskWorker*> FScene::ComputeTaskWorkers

◆ ConvolvedSkyRenderTarget

TRefCountPtr<IPooledRenderTarget> FScene::ConvolvedSkyRenderTarget[2]

These store the result of the sky env map GGX specular convolution.

◆ ConvolvedSkyRenderTargetReadyIndex

int32 FScene::ConvolvedSkyRenderTargetReadyIndex

The index of the ConvolvedSkyRenderTarget to use when rendering meshes. -1 when not initialised.

◆ CustomRenderPassRendererInputs

TArray<FCustomRenderPassRendererInput> FScene::CustomRenderPassRendererInputs

List of all the custom render passes that will run the next time the scene is rendered.

◆ Decals

TArray<FDeferredDecalProxy*> FScene::Decals

The decals in the scene.

◆ DefaultBasePassDepthStencilAccess

FExclusiveDepthStencil::Type FScene::DefaultBasePassDepthStencilAccess

Default base pass depth stencil access.

◆ DefaultLumenSceneData

FLumenSceneData* FScene::DefaultLumenSceneData

◆ DefaultMaxDistanceFieldOcclusionDistance

float FScene::DefaultMaxDistanceFieldOcclusionDistance

◆ DirectionalLights

TArray<FLightSceneInfo*, TInlineAllocator<4> > FScene::DirectionalLights

◆ DirectionalShadowCastingLightIDs

TArray<int32> FScene::DirectionalShadowCastingLightIDs

An array containing IDs of shadow-casting directional lights in the scene.

◆ DistanceFieldSceneData

FDistanceFieldSceneData FScene::DistanceFieldSceneData

Distance field object scene data.

◆ DynamicIndirectCasterPrimitives

TArray<FPrimitiveSceneInfo*> FScene::DynamicIndirectCasterPrimitives

Potential capsule shadow casters registered to the scene.

◆ DynamicIndirectShadowsSelfShadowingIntensity

float FScene::DynamicIndirectShadowsSelfShadowingIntensity

◆ EarlyZPassMode

EDepthDrawingMode FScene::EarlyZPassMode

Early Z pass mode.

◆ ExponentialFogs

TArray<FExponentialHeightFogSceneInfo> FScene::ExponentialFogs

The exponential fog components in the scene.

◆ FXSystem

class FFXSystemInterface* FScene::FXSystem

An optional FX system associated with the scene.

◆ GlobalDistanceFieldViewDistance

float FScene::GlobalDistanceFieldViewDistance

◆ GPUScene

FGPUScene FScene::GPUScene

◆ GPUSkinCache

class FGPUSkinCache* FScene::GPUSkinCache

GPU Skinning cache, if enabled

◆ HairStrandsSceneData

FHairStrandsSceneData FScene::HairStrandsSceneData

The hair strands in the scene.

◆ IndirectLightingCache

FIndirectLightingCache FScene::IndirectLightingCache

Interpolates and caches indirect lighting for dynamic objects.

◆ InstanceCullingOcclusionQueryRenderer

class FInstanceCullingOcclusionQueryRenderer* FScene::InstanceCullingOcclusionQueryRenderer = nullptr

◆ InvisibleLights

FLightSceneInfoCompactSparseArray FScene::InvisibleLights

Lights in the scene which are invisible, but still needed by the editor for previewing. Lights in this array cannot be in the Lights array. They also are not fully set up, as AddLightSceneInfo_RenderThread is not called for them.

◆ LandscapeToNaniteProxyMap

TMap<FPrimitiveComponentId, FPrimitiveSceneInfo*> FScene::LandscapeToNaniteProxyMap

Maps regular landscape component IDs to their Nanite proxies.

◆ LightFunctionAtlasSceneData

LightFunctionAtlas::FLightFunctionAtlasSceneData FScene::LightFunctionAtlasSceneData

◆ Lights

◆ LocalFogVolumes

TArray<FLocalFogVolumeSceneProxy*> FScene::LocalFogVolumes

◆ LocalShadowCastingLightOctree

FSceneLightOctree FScene::LocalShadowCastingLightOctree

An octree containing the shadow-casting local lights in the scene.

◆ MobileDirectionalLights

FLightSceneInfo* FScene::MobileDirectionalLights[NUM_LIGHTING_CHANNELS]

For the mobile renderer, the first directional light in each lighting channel.

◆ MobileSkyLightRealTimeCaptureIrradianceEnvironmentMap

FVector4f FScene::MobileSkyLightRealTimeCaptureIrradianceEnvironmentMap[SKY_IRRADIANCE_ENVIRONMENT_MAP_VEC4_COUNT]

Mobile renderer: store a ready-to-copy to view UB sky irradiance environment map

◆ MobileSkyLightRealTimeCaptureIrradianceReadBackQueries

TQueue<TSharedPtr<FRHIGPUBufferReadback> > FScene::MobileSkyLightRealTimeCaptureIrradianceReadBackQueries

Mobile renderer: used to readback the sky irradiance in order to set it onto the view constant UB

◆ NaniteRasterPipelines

FNaniteRasterPipelines FScene::NaniteRasterPipelines[ENaniteMeshPass::Num]

Nanite raster and shading pipelines. These are stored on the scene as they are computed at FPrimitiveSceneInfo::AddToScene time.

◆ NaniteShadingCommands

FNaniteShadingCommands FScene::NaniteShadingCommands[ENaniteMeshPass::Num]

Nanite shading material commands. These are stored on the scene as they are computed at FPrimitiveSceneInfo::AddToScene time.

◆ NaniteShadingPipelines

FNaniteShadingPipelines FScene::NaniteShadingPipelines[ENaniteMeshPass::Num]

◆ NaniteVisibility

FNaniteVisibility FScene::NaniteVisibility[ENaniteMeshPass::Num]

Nanite material visibility references. These are stored on the scene as they are computed at FPrimitiveSceneInfo::AddToScene time.

◆ NumMobileMovableDirectionalLights_RenderThread

int32 FScene::NumMobileMovableDirectionalLights_RenderThread

◆ NumMobileStaticAndCSMLights_RenderThread

int32 FScene::NumMobileStaticAndCSMLights_RenderThread

Track numbers of various lights types on mobile, used to show warnings for disabled shader permutations.

◆ NumUnbuiltReflectionCaptures

volatile int32 FScene::NumUnbuiltReflectionCaptures
mutable

◆ NumUncachedStaticLightingInteractions

volatile int32 FScene::NumUncachedStaticLightingInteractions
mutable

Set by the rendering thread to signal to the game thread that the scene needs a static lighting build.

◆ OITSceneData

FOITSceneData FScene::OITSceneData

The OIT resources in the scene.

◆ OnPostLightSceneInfoUpdate

FSceneLightSceneInfoUpdateDelegate FScene::OnPostLightSceneInfoUpdate

This delegate is invoked during the scene update phase after all light changes are applied. Thus, RemovedLightIds may contain ID's that are no longer valid or are now referencing newly added lights. IF using this to drive an async task, the core light scene info may be used, but primitive scene updates will still be ongoing (e.g., light/primitive interactions may change).

◆ OnPreLightSceneInfoUpdate

FSceneLightSceneInfoUpdateDelegate FScene::OnPreLightSceneInfoUpdate

This delegate is invoked during the scene update phase before the scene has had any light changes applied. Thus, AddedLightIds is not valid in the change set as the added lights do not have assigned IDs yet. IF using this to drive an async task, care must be taken as the (light) scene will be modified directly after.

◆ OverflowingDynamicShadowedLights

TArray<FString> FScene::OverflowingDynamicShadowedLights

Shadow casting lights that couldn't get a shadowmap channel assigned and therefore won't have valid dynamic shadows, forward renderer only.

◆ ParameterCollections

TMap<FGuid, FUniformBufferRHIRef> FScene::ParameterCollections

Uniform buffers for parameter collections with the corresponding Ids.

◆ PathTracingInvalidationCounter

TAtomic<uint32> FScene::PathTracingInvalidationCounter

This counter will be incremented anytime something about the scene changed that should invalidate the path traced accumulation buffers.

◆ PathTracingSkylightColor

FLinearColor FScene::PathTracingSkylightColor

◆ PathTracingSkylightPdf

TRefCountPtr<IPooledRenderTarget> FScene::PathTracingSkylightPdf

◆ PathTracingSkylightTexture

TRefCountPtr<IPooledRenderTarget> FScene::PathTracingSkylightTexture

The path tracer uses its own representation of the skylight. These textures are updated lazily by the path tracer when missing. Any code that modifies the skylight appearance should simply reset these pointers.

We also remember the last used color so we can detect changes that would require rebuilding the tables

◆ PersistentPrimitiveIdAllocator

FSpanAllocator FScene::PersistentPrimitiveIdAllocator

◆ PersistentPrimitiveIdToIndexMap

TArray<int32> FScene::PersistentPrimitiveIdToIndexMap

◆ PersistentViewStateUniqueIDs

TSparseArray<int32> FScene::PersistentViewStateUniqueIDs

Unique IDs of view states that are tracked by the (ever been rendered & not deleted), indexed by their persistent ID. The sparse array defines a semi-compact range that can be used to maintain data for each view state in e.g., scene extensions.

◆ PerViewOrGPULumenSceneData

FLumenSceneDataMap FScene::PerViewOrGPULumenSceneData

◆ PhysicsField

class FPhysicsFieldSceneProxy* FScene::PhysicsField = nullptr

Global Field Manager

◆ PlanarReflections

TArray<class FPlanarReflectionSceneProxy*> FScene::PlanarReflections

◆ PlanarReflections_GameThread

TArray<class UPlanarReflectionComponent*> FScene::PlanarReflections_GameThread

◆ PrecomputedLightVolumes

TArray<const FPrecomputedLightVolume*> FScene::PrecomputedLightVolumes

Precomputed lighting volumes in the scene, used for interpolating dynamic object lighting. These are typically one per streaming level and they store volume lighting samples computed by Lightmass.

◆ PrecomputedVisibilityHandler

const FPrecomputedVisibilityHandler* FScene::PrecomputedVisibilityHandler

Precomputed visibility data for the scene.

◆ PreShadowCacheDepthZ

TRefCountPtr<IPooledRenderTarget> FScene::PreShadowCacheDepthZ

◆ PreshadowCacheLayout

FTextureLayout FScene::PreshadowCacheLayout

Texture layout that tracks current allocations in the PreshadowCache render target.

◆ PrevAtlasCompleteHZBs

TArray<TRefCountPtr<IPooledRenderTarget> > FScene::PrevAtlasCompleteHZBs

◆ PrevAtlasHZBs

TArray<TRefCountPtr<IPooledRenderTarget> > FScene::PrevAtlasHZBs

Atlas HZB textures from the previous render.

◆ PrimitiveBounds

TScenePrimitiveArray<FPrimitiveBounds> FScene::PrimitiveBounds

Packed array of primitive bounds.

◆ PrimitiveComponentIds

TArray<FPrimitiveComponentId> FScene::PrimitiveComponentIds

Packed array of primitive components associated with the primitive.

◆ PrimitiveFlagsCompact

TArray<FPrimitiveFlagsCompact> FScene::PrimitiveFlagsCompact

Packed array of primitive flags.

◆ PrimitiveOcclusionBounds

TScenePrimitiveArray<FBoxSphereBounds> FScene::PrimitiveOcclusionBounds

Packed array of primitive occlusion bounds.

◆ PrimitiveOcclusionFlags

TArray<uint8> FScene::PrimitiveOcclusionFlags

Packed array of primitive occlusion flags. See EOcclusionFlags.

◆ PrimitiveOctree

FScenePrimitiveOctree FScene::PrimitiveOctree

An octree containing the primitives in the scene.

◆ PrimitiveOctreeIndex

TArray<uint32> FScene::PrimitiveOctreeIndex

Array of primitive octree node index

◆ Primitives

TArray<FPrimitiveSceneInfo*> FScene::Primitives

Packed array of primitives in the scene.

◆ PrimitivesAlwaysVisibleOffset

uint32 FScene::PrimitivesAlwaysVisibleOffset = ~0u

The following arrays are densely packed primitive data needed by various rendering passes. PrimitiveSceneInfo->PackedIndex maintains the index where data is stored in these arrays for a given primitive. Index into primitive arrays where the always visible partition starts.

◆ PrimitiveSceneProxies

TArray<FPrimitiveSceneProxy*> FScene::PrimitiveSceneProxies

Packed array of primitive scene proxies in the scene.

◆ PrimitivesNeedingLevelUpdateNotification

TMap<FName, TArray<FPrimitiveSceneInfo*> > FScene::PrimitivesNeedingLevelUpdateNotification

◆ PrimitivesNeedingStaticMeshUpdate

TBitArray FScene::PrimitivesNeedingStaticMeshUpdate

◆ PrimitivesNeedingUniformBufferUpdate

TBitArray FScene::PrimitivesNeedingUniformBufferUpdate

◆ PrimitiveTransforms

TScenePrimitiveArray<FMatrix> FScene::PrimitiveTransforms

Packed array of all transforms in the scene.

◆ PrimitiveVisibilityIds

TArray<FPrimitiveVisibilityId> FScene::PrimitiveVisibilityIds

Packed array of precomputed primitive visibility IDs.

◆ RealTimeReflectionCaptureCamera360APLutTexture

TRefCountPtr<IPooledRenderTarget> FScene::RealTimeReflectionCaptureCamera360APLutTexture

The Camera 360 AP is used when rendering sky material sampling this lut or volumetric clouds into the realtime capture sky env map. It must be generated at the skylight position

◆ RealTimeReflectionCaptureSkyAtmosphereViewLutTexture

TRefCountPtr<IPooledRenderTarget> FScene::RealTimeReflectionCaptureSkyAtmosphereViewLutTexture

The SkyView LUT used when rendering sky material sampling this lut into the realtime capture sky env map. It must be generated at the skylight position

◆ RealTimeSlicedReflectionCapture

struct FScene::FRealTimeSlicedReflectionCapture FScene::RealTimeSlicedReflectionCapture

◆ ReflectionSceneData

FReflectionEnvironmentSceneData FScene::ReflectionSceneData

State needed for the reflection environment feature.

◆ RuntimeVirtualTextures

TSparseArray<FRuntimeVirtualTextureSceneProxy*> FScene::RuntimeVirtualTextures

The runtime virtual textures in the scene.

◆ SceneExtensions

FSceneExtensions FScene::SceneExtensions

Collection of scene render extensions.

◆ SceneLODHierarchy

FLODSceneTree FScene::SceneLODHierarchy

LOD Tree Holder for massive LOD system

◆ SimpleDirectionalLight

FLightSceneInfo* FScene::SimpleDirectionalLight

The directional light to use for simple dynamic lighting, if any.

◆ SkeletalMeshUpdater

class FSkeletalMeshUpdater* FScene::SkeletalMeshUpdater

◆ SkyAtmosphere

FSkyAtmosphereRenderSceneInfo* FScene::SkyAtmosphere

The sky/atmosphere components of the scene.

◆ SkyAtmosphereStack

TArray<FSkyAtmosphereSceneProxy*> FScene::SkyAtmosphereStack

Used to track the order that skylights were enabled in.

◆ SkyIrradianceEnvironmentMap

TRefCountPtr<FRDGPooledBuffer> FScene::SkyIrradianceEnvironmentMap

Contains the sky env map irradiance as spherical harmonics.

◆ SkyLight

FSkyLightSceneProxy* FScene::SkyLight

The scene's sky light, if any.

◆ SkyLightStack

TArray<FSkyLightSceneProxy*> FScene::SkyLightStack

Used to track the order that skylights were enabled in.

◆ SparseVolumeTextureViewers

TArray<FSparseVolumeTextureViewerSceneProxy*> FScene::SparseVolumeTextureViewers

◆ SpeedTreeVertexFactoryMap

TMap<FVertexFactory*, const UStaticMesh*> FScene::SpeedTreeVertexFactoryMap

◆ SpeedTreeWindComputationMap

TMap<const UStaticMesh*, struct FSpeedTreeWindComputation*> FScene::SpeedTreeWindComputationMap

SpeedTree wind objects in the scene. FLocalVertexFactoryShaderParametersBase needs to lookup by FVertexFactory, but wind objects are per tree (i.e. per UStaticMesh)

◆ StaticMeshes

TSparseArray<FStaticMeshBatch*> FScene::StaticMeshes

The static meshes in the scene.

◆ SubstrateSceneData

FSubstrateSceneData FScene::SubstrateSceneData

Substrate data shared between all views.

◆ TypeOffsetTable

TArray<FTypeOffsetTableEntry> FScene::TypeOffsetTable

◆ UniformBuffers

FPersistentUniformBuffers FScene::UniformBuffers

◆ VelocityData

FSceneVelocityData FScene::VelocityData

◆ ViewStates

TArray<FSceneViewState*> FScene::ViewStates

List of view states associated with the scene.

◆ VolumetricCloud

FVolumetricCloudRenderSceneInfo* FScene::VolumetricCloud

The sky/atmosphere components of the scene.

◆ VolumetricCloudStack

TArray<FVolumetricCloudSceneProxy*> FScene::VolumetricCloudStack

Used to track the order that skylights were enabled in.

◆ VolumetricLightmapSceneData

FVolumetricLightmapSceneData FScene::VolumetricLightmapSceneData

◆ WindComponents_GameThread

TArray<UWindDirectionalSourceComponent*> FScene::WindComponents_GameThread

Wind source components, tracked so the game thread can also access wind parameters

◆ WindSources

TArray<class FWindSourceSceneProxy*> FScene::WindSources

The wind sources in the scene.

◆ World

UWorld* FScene::World

An optional world associated with the scene.


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