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

#include <ScenePrivate.h>

+ Inheritance diagram for FSceneViewState:

Classes

struct  FOcclusion
 
class  FProjectedShadowKey
 

Public Types

typedef TMap< FSceneViewState::FProjectedShadowKey, FRHIPooledRenderQueryShadowKeyOcclusionQueryMap
 
- Public Types inherited from FRenderResource
enum class  EInitPhase : uint8 { Pre , Default , MAX }
 

Public Member Functions

virtual FRDGTextureRef GetVolumetricCloudTexture (FRDGBuilder &GraphBuilder) override
 
virtual FVector2f GetVolumetricCloudTextureUVScale () const override
 
virtual FVector2f GetVolumetricCloudTextureUVMax () const override
 
virtual uint32 GetCurrentTemporalAASampleIndex () const
 
uint32 GetFrameIndex (uint32 Pow2Modulus) const
 
uint32 GetFrameIndex () const
 
uint32 GetOutputFrameIndex (uint32 Pow2Modulus) const
 
uint32 GetOutputFrameIndex () const
 
virtual void ResetViewState ()
 
void SetupDistanceFieldTemporalOffset (const FSceneViewFamily &Family)
 
uint32 GetDistanceFieldTemporalSampleIndex () const
 
 FSceneViewState (ERHIFeatureLevel::Type FeatureLevel, FSceneViewState *ShareOriginTarget)
 
void UpdateLastRenderTime (const FSceneViewFamily &Family)
 
void TrimHistoryRenderTargets (const FScene *InScene)
 
void UpdateMotionBlurTimeScale (const FViewInfo &View)
 
void UpdateTemporalLODTransition (const FViewInfo &View)
 
const uint8ResolvePrecomputedVisibilityData (FViewInfo &View, const FScene *InScene)
 
void TrimOcclusionHistory (float CurrentTime, float MinHistoryTime, float MinQueryTime, int32 FrameNumber)
 
void UpdateRoundRobin (const bool bUseRoundRobin)
 
bool IsRoundRobinEnabled () const
 
bool IsShadowOccluded (FSceneViewState::FProjectedShadowKey ShadowKey, int32 NumBufferedFrames) const
 
FRDGPooledBufferGetCurrentEyeAdaptationBuffer () const override final
 
FRDGPooledBufferGetCurrentEyeAdaptationBuffer (FRDGBuilder &GraphBuilder)
 
void SwapEyeAdaptationBuffers ()
 
void UpdateEyeAdaptationLastExposureFromBuffer ()
 
void EnqueueEyeAdaptationExposureBufferReadback (FRDGBuilder &GraphBuilder)
 
float GetLastEyeAdaptationExposure () const
 
float GetLastAverageLocalExposure () const
 
float GetLastAverageSceneLuminance () const
 
FRHITextureGetExposureCompensationCurveLUT () const
 
virtual void SetExposureCompensationCurve (UCurveFloat *NewCurve) override
 
void UpdateExposureCompensationCurveLUT (FRHICommandList &RHICmdList, UCurveFloat *Curve)
 
bool HasValidTonemappingLUT () const
 
void SetValidTonemappingLUT (bool bValid=true)
 
IPooledRenderTargetGetTonemappingLUT (FRHICommandList &RHICmdList, const int32 LUTSize, const bool bUseVolumeLUT, const bool bNeedUAV, const bool bNeedFloatOutput)
 
IPooledRenderTargetGetTonemappingLUT () const
 
FSubstrateViewDebugDataGetSubstrateViewDebugData ()
 
virtual void InitRHI (FRHICommandListBase &RHICmdList) override
 
virtual void ReleaseRHI () override
 
virtual RENDERER_API void Destroy () override
 
virtual FSceneViewStateGetConcreteViewState () override
 
virtual void AddReferencedObjects (FReferenceCollector &Collector) override
 
virtual void OnStartPostProcessing (FSceneView &CurrentView) override
 
virtual float GetPreExposure () const override
 
virtual UMaterialInstanceDynamicGetReusableMID (class UMaterialInterface *InSource) override
 
virtual void ClearMIDPool (FStringView MidParentRootPath={}) override
 
virtual const FViewMatricesGetFrozenViewMatrices () const override
 
virtual void ActivateFrozenViewMatrices (FSceneView &SceneView) override
 
virtual void RestoreUnfrozenViewMatrices (FSceneView &SceneView) override
 
virtual FTemporalLODStateGetTemporalLODState () override
 
virtual const FTemporalLODStateGetTemporalLODState () const override
 
float GetTemporalLODTransition () const override
 
uint32 GetViewKey () const override
 
uint32 GetShareOriginViewKey () const
 
uint32 GetOcclusionFrameCounter () const
 
virtual SIZE_T GetSizeBytes () const override
 
uint64 GetGPUSizeBytes (bool bLogSizes=false) const
 
virtual void SetSequencerState (ESequencerState InSequencerState) override
 
virtual ESequencerState GetSequencerState () override
 
virtual void AddLumenSceneData (FSceneInterface *InScene, float SurfaceCacheResolution) override
 
virtual void RemoveLumenSceneData (FSceneInterface *InScene) override
 
virtual bool HasLumenSceneData () const override
 
virtual void SystemMemoryMirrorBackup (FSceneViewStateSystemMemoryMirror *SystemMemoryMirror) override final
 
virtual void SystemMemoryMirrorRestore (FSceneViewStateSystemMemoryMirror *SystemMemoryMirror) override final
 
- Public Member Functions inherited from FSceneViewStateInterface
 FSceneViewStateInterface ()
 
bool HasValidEyeAdaptationBuffer () const
 
void SetViewParent (FSceneViewStateInterface *)
 
FSceneViewStateInterfaceGetViewParent ()
 
const FSceneViewStateInterfaceGetViewParent () const
 
bool HasViewParent () const
 
bool IsViewParent () const
 
- Public Member Functions inherited from FRenderResource
RENDERCORE_API FRenderResource ()
 
RENDERCORE_API FRenderResource (ERHIFeatureLevel::Type InFeatureLevel)
 
RENDERCORE_API FRenderResource (const FRenderResource &)
 
RENDERCORE_API FRenderResource (FRenderResource &&)
 
RENDERCORE_API FRenderResourceoperator= (const FRenderResource &Other)
 
RENDERCORE_API FRenderResourceoperator= (FRenderResource &&Other)
 
virtual RENDERCORE_API ~FRenderResource ()
 
virtual RENDERCORE_API void InitResource (FRHICommandListBase &RHICmdList)
 
virtual RENDERCORE_API void ReleaseResource ()
 
RENDERCORE_API void UpdateRHI (FRHICommandListBase &RHICmdList)
 
virtual FString GetFriendlyName () const
 
bool IsInitialized () const
 
int32 GetListIndex () const
 
EInitPhase GetInitPhase () const
 
void SetOwnerName (FName InOwnerName)
 
FName GetOwnerName () const
 
void SetResourceName (FName InResourceName)
 
FName GetResourceName () const
 

Static Public Member Functions

static FPooledRenderTargetDesc CreateLUTRenderTarget (const int32 LUTSize, const bool bUseVolumeLUT, const bool bNeedUAV, const bool bNeedFloatOutput)
 
- Static Public Member Functions inherited from FSceneViewStateInterface
static ENGINE_API TPimplPtr< FSceneViewStateSystemMemoryMirrorSystemMemoryMirrorAllocate ()
 
- Static Public Member Functions inherited from FRenderResource
static RENDERCORE_API void ReleaseRHIForAllResources ()
 
static RENDERCORE_API void InitPreRHIResources ()
 
static RENDERCORE_API void ChangeFeatureLevel (ERHIFeatureLevel::Type NewFeatureLevel)
 
static RENDERCORE_API FName SetScopeName (FName Name)
 

Public Attributes

uint32 UniqueID
 
uint32 ShareOriginUniqueID
 
FSceneScene
 
TArray< ShadowKeyOcclusionQueryMap, TInlineAllocator< FOcclusionQueryHelpers::MaxBufferedOcclusionFrames > > ShadowOcclusionQueryMaps
 
FRenderQueryPoolRHIRef OcclusionQueryPool
 
FFrameBasedOcclusionQueryPool PrimitiveOcclusionQueryPool
 
FHZBOcclusionTester HZBOcclusionTests
 
FOcclusionFeedback OcclusionFeedback
 
FPersistentSkyAtmosphereData PersistentSkyAtmosphereData
 
TArray< uint8DecompressedVisibilityChunk
 
const TArray< uint8 > * CachedVisibilityChunk
 
int32 CachedVisibilityHandlerId
 
int32 CachedVisibilityBucketIndex
 
int32 CachedVisibilityChunkIndex
 
uint32 PendingPrevFrameNumber
 
uint32 PrevFrameNumber
 
double LastRenderTime
 
float MotionBlurTimeScale
 
float MotionBlurTargetDeltaTime
 
FMatrix44f PrevViewMatrixForOcclusionQuery
 
FVector PrevViewOriginForOcclusionQuery
 
uint32 OcclusionFrameCounter
 
FPrimitiveFadingStateMap PrimitiveFadingStates
 
TMap< int32, FIndividualOcclusionHistoryPlanarReflectionOcclusionHistories
 
uint32 bIsFreezing: 1
 
uint32 bIsFrozen: 1
 
uint32 bIsFrozenViewMatricesCached: 1
 
TSet< FPrimitiveComponentIdFrozenPrimitives
 
FViewMatrices CachedViewMatrices
 
FHLODVisibilityState HLODVisibilityState
 
TMap< FPrimitiveComponentId, FHLODSceneNodeVisibilityStateHLODSceneNodeVisibilityStates
 
float PreExposure
 
bool bUpdateLastExposure
 
int32 TemporalAASampleIndex
 
uint32 FrameIndex
 
uint32 OutputFrameIndex
 
FPreviousViewInfo PrevFrameViewInfo
 
FTemporalAAHistory LightShaftOcclusionHistory
 
TMap< const ULightComponent *, TUniquePtr< FTemporalAAHistory > > LightShaftBloomHistoryRTs
 
FIntRect DistanceFieldAOHistoryViewRect
 
TRefCountPtr< IPooledRenderTargetDistanceFieldAOHistoryRT
 
TRefCountPtr< IPooledRenderTargetDistanceFieldIrradianceHistoryRT
 
TRefCountPtr< IPooledRenderTargetSubsurfaceScatteringQualityHistoryRT
 
FLumenViewState Lumen
 
FMegaLightsViewState MegaLights
 
FStochasticLightingViewState StochasticLighting
 
FTranslucencyLightingViewState TranslucencyLighting
 
TRDGUniformBufferRef< FOrthoVoxelGridUniformBufferParametersOrthoVoxelGridUniformBuffer = nullptr
 
TRDGUniformBufferRef< FFrustumVoxelGridUniformBufferParametersFrustumVoxelGridUniformBuffer = nullptr
 
FAdaptiveVolumetricShadowMapUniformBufferParametersAdaptiveVolumetricCameraMapUniformBufferParameters = nullptr
 
TRDGUniformBufferRef< FAdaptiveVolumetricShadowMapUniformBufferParametersAdaptiveVolumetricCameraMapUniformBuffer = nullptr
 
TMap< int32, TRDGUniformBufferRef< FAdaptiveVolumetricShadowMapUniformBufferParameters > > AdaptiveVolumetricShadowMapUniformBufferMap
 
TMap< int32, TRDGUniformBufferRef< FBeerShadowMapUniformBufferParameters > > BeerShadowMapUniformBufferMap
 
TMap< int32, int32LightSceneIdToForwardLightIndex
 
TMap< FSimpleLightId, int32SimpleLightIdToForwardLightIndex
 
struct { 
 
   TRefCountPtr< IPooledRenderTarget >   Spectral 
 
   TRefCountPtr< FRDGPooledBuffer >   ConstantsBuffer 
 
   FRHITexture *   PhysicalRHI = nullptr 
 
   float   Scale = 0.f 
 
   FIntPoint   ImageSize 
 
   uint32   PhysicalMipLevel 
 
BloomFFTKernel 
 
struct { 
 
   FRHITexture *   TextureRHI = nullptr 
 
   TRefCountPtr< FRDGPooledBuffer >   ConstantsBuffer 
 
FilmGrainCache 
 
TPimplPtr< DiaphragmDOF::FDOFViewState > DepthOfFieldState
 
float MaterialTextureCachedMipBias
 
float LandscapeCachedMipBias
 
FSamplerStateRHIRef MaterialTextureBilinearWrapedSamplerCache
 
FSamplerStateRHIRef MaterialTextureBilinearClampedSamplerCache
 
FSamplerStateRHIRef LandscapeWeightmapSamplerCache
 
TUniquePtr< FForwardLightingViewResourcesForwardLightingResources
 
float LightScatteringHistoryPreExposure
 
FVector2f PrevLightScatteringViewGridUVToViewRectVolumeUV
 
FVector2f VolumetricFogPrevViewGridRectUVToResourceUV
 
FVector2f VolumetricFogPrevUVMax
 
FVector2f VolumetricFogPrevUVMaxForTemporalBlend
 
FIntVector VolumetricFogPrevResourceGridSize
 
TRefCountPtr< IPooledRenderTargetLightScatteringHistory
 
TRefCountPtr< IPooledRenderTargetPrevLightScatteringConservativeDepthTexture
 
TRefCountPtr< FPersistentGlobalDistanceFieldDataGlobalDistanceFieldData
 
ESequencerState SequencerState
 
FTemporalLODState TemporalLODState
 
FVolumetricRenderTargetViewStateData VolumetricCloudRenderTarget
 
FTemporalRenderTargetState VolumetricCloudShadowRenderTarget [NUM_ATMOSPHERE_LIGHTS]
 
FMatrix VolumetricCloudShadowmapPreviousTranslatedWorldToLightClipMatrix [NUM_ATMOSPHERE_LIGHTS]
 
FVector VolumetricCloudShadowmapPreviousAtmosphericLightPos [NUM_ATMOSPHERE_LIGHTS]
 
FVector VolumetricCloudShadowmapPreviousAnchorPoint [NUM_ATMOSPHERE_LIGHTS]
 
FVector VolumetricCloudShadowmapPreviousAtmosphericLightDir [NUM_ATMOSPHERE_LIGHTS]
 
FHairStrandsViewStateData HairStrandsViewStateData
 
FShaderPrintStateData ShaderPrintStateData
 
FGlintShadingLUTsStateData GlintShadingLUTsData
 
bool bLumenSceneDataAdded
 
float LumenSurfaceCacheResolution
 
struct FSceneViewState::FOcclusion Occlusion
 
- Public Attributes inherited from FRenderResource
ERenderResourceState ResourceState = ERenderResourceState::Default
 

Additional Inherited Members

- Protected Member Functions inherited from FSceneViewStateInterface
virtual ~FSceneViewStateInterface ()
 
- Protected Member Functions inherited from FRenderResource
void SetFeatureLevel (const FStaticFeatureLevel InFeatureLevel)
 
const FStaticFeatureLevel GetFeatureLevel () const
 
bool HasValidFeatureLevel () const
 
template<typename T >
FBufferRHIRef CreateRHIBuffer (FRHICommandListBase &RHICmdList, T &InOutResourceObject, uint32 ResourceCount, EBufferUsageFlags InBufferUsageFlags, const TCHAR *InDebugName)
 
void SetInitPhase (EInitPhase InInitPhase)
 
- Static Protected Member Functions inherited from FRenderResource
static RENDERCORE_API FRHICommandListBaseGetImmediateCommandList ()
 
- Protected Attributes inherited from FSceneViewStateInterface
uint8 bValidEyeAdaptationBuffer: 1
 

Detailed Description

The scene manager's private implementation of persistent view state. This class is associated with a particular camera across multiple frames by the game thread. The game thread calls FRendererModule::AllocateViewState to create an instance of this private implementation.

Member Typedef Documentation

◆ ShadowKeyOcclusionQueryMap

Constructor & Destructor Documentation

◆ FSceneViewState()

FSceneViewState::FSceneViewState ( ERHIFeatureLevel::Type  FeatureLevel,
FSceneViewState ShareOriginTarget 
)

Default constructor.

Member Function Documentation

◆ ActivateFrozenViewMatrices()

virtual void FSceneViewState::ActivateFrozenViewMatrices ( FSceneView SceneView)
inlineoverridevirtual

If frozen view matrices are available, set those as active on the SceneView

Implements FSceneViewStateInterface.

◆ AddLumenSceneData()

void FSceneViewState::AddLumenSceneData ( FSceneInterface InScene,
float  SurfaceCacheResolution 
)
overridevirtual

Similar to above, but adds Lumen Scene Data

Reimplemented from FSceneViewStateInterface.

◆ AddReferencedObjects()

virtual void FSceneViewState::AddReferencedObjects ( FReferenceCollector Collector)
inlineoverridevirtual

◆ ClearMIDPool()

virtual void FSceneViewState::ClearMIDPool ( FStringView  MidParentRootPath = {})
inlineoverridevirtual

Clears the pool of mids being referenced by this view state

Implements FSceneViewStateInterface.

◆ CreateLUTRenderTarget()

static FPooledRenderTargetDesc FSceneViewState::CreateLUTRenderTarget ( const int32  LUTSize,
const bool  bUseVolumeLUT,
const bool  bNeedUAV,
const bool  bNeedFloatOutput 
)
inlinestatic

◆ Destroy()

void FSceneViewState::Destroy ( )
overridevirtual

Called in the game thread to destroy the view state.

Implements FSceneViewStateInterface.

◆ EnqueueEyeAdaptationExposureBufferReadback()

void FSceneViewState::EnqueueEyeAdaptationExposureBufferReadback ( FRDGBuilder GraphBuilder)
inline

◆ GetConcreteViewState()

virtual FSceneViewState * FSceneViewState::GetConcreteViewState ( )
inlineoverridevirtual
Returns
the derived view state object

Implements FSceneViewStateInterface.

◆ GetCurrentEyeAdaptationBuffer() [1/2]

FRDGPooledBuffer * FSceneViewState::GetCurrentEyeAdaptationBuffer ( ) const
inlinefinaloverridevirtual

Returns the eye adaptation buffer.

Implements FSceneViewStateInterface.

◆ GetCurrentEyeAdaptationBuffer() [2/2]

FRDGPooledBuffer * FSceneViewState::GetCurrentEyeAdaptationBuffer ( FRDGBuilder GraphBuilder)
inline

◆ GetCurrentTemporalAASampleIndex()

virtual uint32 FSceneViewState::GetCurrentTemporalAASampleIndex ( ) const
inlinevirtual

◆ GetDistanceFieldTemporalSampleIndex()

uint32 FSceneViewState::GetDistanceFieldTemporalSampleIndex ( ) const
inlinevirtual

returns the distance field temporal sample index

Implements FSceneViewStateInterface.

◆ GetExposureCompensationCurveLUT()

FRHITexture * FSceneViewState::GetExposureCompensationCurveLUT ( ) const
inline

◆ GetFrameIndex() [1/2]

uint32 FSceneViewState::GetFrameIndex ( ) const
inline

◆ GetFrameIndex() [2/2]

uint32 FSceneViewState::GetFrameIndex ( uint32  Pow2Modulus) const
inline

◆ GetFrozenViewMatrices()

virtual const FViewMatrices * FSceneViewState::GetFrozenViewMatrices ( ) const
inlineoverridevirtual

If frozen view matrices are available, return a pointer to them

Implements FSceneViewStateInterface.

◆ GetGPUSizeBytes()

uint64 FSceneViewState::GetGPUSizeBytes ( bool  bLogSizes = false) const

◆ GetLastAverageLocalExposure()

float FSceneViewState::GetLastAverageLocalExposure ( ) const
inline

◆ GetLastAverageSceneLuminance()

float FSceneViewState::GetLastAverageSceneLuminance ( ) const
inlinevirtual

Returns the average scene luminance.

Implements FSceneViewStateInterface.

◆ GetLastEyeAdaptationExposure()

float FSceneViewState::GetLastEyeAdaptationExposure ( ) const
inlinevirtual

Returns the eye adaptation exposure.

Implements FSceneViewStateInterface.

◆ GetOcclusionFrameCounter()

uint32 FSceneViewState::GetOcclusionFrameCounter ( ) const
inlinevirtual

returns the occlusion frame counter

Implements FSceneViewStateInterface.

◆ GetOutputFrameIndex() [1/2]

uint32 FSceneViewState::GetOutputFrameIndex ( ) const
inline

◆ GetOutputFrameIndex() [2/2]

uint32 FSceneViewState::GetOutputFrameIndex ( uint32  Pow2Modulus) const
inline

◆ GetPreExposure()

virtual float FSceneViewState::GetPreExposure ( ) const
inlineoverridevirtual

Returns the current PreExposure value. PreExposure is a custom scale applied to the scene color to prevent buffer overflow.

Implements FSceneViewStateInterface.

◆ GetReusableMID()

virtual UMaterialInstanceDynamic * FSceneViewState::GetReusableMID ( class UMaterialInterface InSource)
inlineoverridevirtual

Allows MIDs being created and released during view rendering without the overhead of creating and releasing objects As MID are not allowed to be parent of MID this gets fixed up by parenting it to the next Material or MIC

Parameters
InSourcecan be Material, MIC or MID, must not be 0

Implements FSceneViewStateInterface.

◆ GetSequencerState()

virtual ESequencerState FSceneViewState::GetSequencerState ( )
inlineoverridevirtual

◆ GetShareOriginViewKey()

uint32 FSceneViewState::GetShareOriginViewKey ( ) const
inline

◆ GetSizeBytes()

SIZE_T FSceneViewState::GetSizeBytes ( ) const
overridevirtual

Reimplemented from FSceneViewStateInterface.

◆ GetSubstrateViewDebugData()

FSubstrateViewDebugData & FSceneViewState::GetSubstrateViewDebugData ( )
inline

◆ GetTemporalLODState() [1/2]

virtual const FTemporalLODState & FSceneViewState::GetTemporalLODState ( ) const
inlineoverridevirtual

◆ GetTemporalLODState() [2/2]

virtual FTemporalLODState & FSceneViewState::GetTemporalLODState ( )
inlineoverridevirtual

Returns the temporal LOD struct from the viewstate

Implements FSceneViewStateInterface.

◆ GetTemporalLODTransition()

float FSceneViewState::GetTemporalLODTransition ( ) const
inlineoverridevirtual

Returns the blend factor between the last two LOD samples

Implements FSceneViewStateInterface.

◆ GetTonemappingLUT() [1/2]

IPooledRenderTarget * FSceneViewState::GetTonemappingLUT ( ) const
inline

◆ GetTonemappingLUT() [2/2]

IPooledRenderTarget * FSceneViewState::GetTonemappingLUT ( FRHICommandList RHICmdList,
const int32  LUTSize,
const bool  bUseVolumeLUT,
const bool  bNeedUAV,
const bool  bNeedFloatOutput 
)
inline

◆ GetViewKey()

uint32 FSceneViewState::GetViewKey ( ) const
inlineoverridevirtual

returns a unique key for the view state, non-zero

Implements FSceneViewStateInterface.

◆ GetVolumetricCloudTexture()

virtual FRDGTextureRef FSceneViewState::GetVolumetricCloudTexture ( FRDGBuilder GraphBuilder)
inlineoverridevirtual

◆ GetVolumetricCloudTextureUVMax()

virtual FVector2f FSceneViewState::GetVolumetricCloudTextureUVMax ( ) const
inlineoverridevirtual

◆ GetVolumetricCloudTextureUVScale()

virtual FVector2f FSceneViewState::GetVolumetricCloudTextureUVScale ( ) const
inlineoverridevirtual

◆ HasLumenSceneData()

bool FSceneViewState::HasLumenSceneData ( ) const
overridevirtual

◆ HasValidTonemappingLUT()

bool FSceneViewState::HasValidTonemappingLUT ( ) const
inline

◆ InitRHI()

virtual void FSceneViewState::InitRHI ( FRHICommandListBase RHICmdList)
inlineoverridevirtual

Initializes the RHI resources used by this resource. Called when entering the state where both the resource and the RHI have been initialized. This is only called by the rendering thread.

Reimplemented from FRenderResource.

◆ IsRoundRobinEnabled()

bool FSceneViewState::IsRoundRobinEnabled ( ) const
inline

◆ IsShadowOccluded()

bool FSceneViewState::IsShadowOccluded ( FSceneViewState::FProjectedShadowKey  ShadowKey,
int32  NumBufferedFrames 
) const

Checks whether a shadow is occluded this frame.

Parameters
Primitive- The shadow subject.
Light- The shadow source.

◆ OnStartPostProcessing()

virtual void FSceneViewState::OnStartPostProcessing ( FSceneView CurrentView)
inlineoverridevirtual

Resets pool for GetReusableMID()

Implements FSceneViewStateInterface.

◆ ReleaseRHI()

void FSceneViewState::ReleaseRHI ( )
overridevirtual

Releases the RHI resources used by this resource. Called when leaving the state where both the resource and the RHI have been initialized. This is only called by the rendering thread.

Reimplemented from FRenderResource.

◆ RemoveLumenSceneData()

void FSceneViewState::RemoveLumenSceneData ( FSceneInterface InScene)
overridevirtual

Reimplemented from FSceneViewStateInterface.

◆ ResetViewState()

virtual void FSceneViewState::ResetViewState ( )
inlinevirtual

◆ ResolvePrecomputedVisibilityData()

const uint8 * FSceneViewState::ResolvePrecomputedVisibilityData ( FViewInfo View,
const FScene InScene 
)

Returns an array of visibility data for the given view, or NULL if none exists. The data bits are indexed by VisibilityId of each primitive in the scene. This method decompresses data if necessary and caches it based on the bucket and chunk index in the view state. InScene is passed in, as the Scene pointer in the class itself may be null, if it was allocated without a scene.

Returns an array of visibility data for the given view position, or NULL if none exists. The data bits are indexed by VisibilityId of each primitive in the scene. This method decompresses data if necessary and caches it based on the bucket and chunk index in the view state. InScene is passed in, as the Scene pointer in the class itself may be null, if it was allocated without a scene.

◆ RestoreUnfrozenViewMatrices()

virtual void FSceneViewState::RestoreUnfrozenViewMatrices ( FSceneView SceneView)
inlineoverridevirtual

If frozen view matrices were set, restore the previous view matrices

Implements FSceneViewStateInterface.

◆ SetExposureCompensationCurve()

void FSceneViewState::SetExposureCompensationCurve ( UCurveFloat NewCurve)
overridevirtual

Reimplemented from FSceneViewStateInterface.

◆ SetSequencerState()

virtual void FSceneViewState::SetSequencerState ( ESequencerState  InSequencerState)
inlineoverridevirtual

◆ SetupDistanceFieldTemporalOffset()

void FSceneViewState::SetupDistanceFieldTemporalOffset ( const FSceneViewFamily Family)
inline

◆ SetValidTonemappingLUT()

void FSceneViewState::SetValidTonemappingLUT ( bool  bValid = true)
inline

◆ SwapEyeAdaptationBuffers()

void FSceneViewState::SwapEyeAdaptationBuffers ( )
inline

◆ SystemMemoryMirrorBackup()

void FSceneViewState::SystemMemoryMirrorBackup ( FSceneViewStateSystemMemoryMirror SystemMemoryMirror)
finaloverridevirtual

◆ SystemMemoryMirrorRestore()

void FSceneViewState::SystemMemoryMirrorRestore ( FSceneViewStateSystemMemoryMirror SystemMemoryMirror)
finaloverridevirtual

◆ TrimHistoryRenderTargets()

void FSceneViewState::TrimHistoryRenderTargets ( const FScene InScene)

◆ TrimOcclusionHistory()

void FSceneViewState::TrimOcclusionHistory ( float  CurrentTime,
float  MinHistoryTime,
float  MinQueryTime,
int32  FrameNumber 
)

Cleans out old entries from the primitive occlusion history, and resets unused pending occlusion queries.

Parameters
MinHistoryTime- The occlusion history for any primitives which have been visible and unoccluded since this time will be kept. The occlusion history for any primitives which haven't been visible and unoccluded since this time will be discarded.
MinQueryTime- The pending occlusion queries older than this will be discarded.

◆ UpdateExposureCompensationCurveLUT()

void FSceneViewState::UpdateExposureCompensationCurveLUT ( FRHICommandList RHICmdList,
UCurveFloat Curve 
)

◆ UpdateEyeAdaptationLastExposureFromBuffer()

void FSceneViewState::UpdateEyeAdaptationLastExposureFromBuffer ( )
inline

◆ UpdateLastRenderTime()

void FSceneViewState::UpdateLastRenderTime ( const FSceneViewFamily Family)
inline

◆ UpdateMotionBlurTimeScale()

void FSceneViewState::UpdateMotionBlurTimeScale ( const FViewInfo View)

Calculates and stores the scale factor to apply to motion vectors based on the current game time and view post process settings.

◆ UpdateRoundRobin()

void FSceneViewState::UpdateRoundRobin ( const bool  bUseRoundRobin)
inline

◆ UpdateTemporalLODTransition()

void FSceneViewState::UpdateTemporalLODTransition ( const FViewInfo View)
inline

Called every frame after UpdateLastRenderTime, sets up the information for the lagged temporal LOD transition

Member Data Documentation

◆ AdaptiveVolumetricCameraMapUniformBuffer

TRDGUniformBufferRef<FAdaptiveVolumetricShadowMapUniformBufferParameters> FSceneViewState::AdaptiveVolumetricCameraMapUniformBuffer = nullptr

◆ AdaptiveVolumetricCameraMapUniformBufferParameters

FAdaptiveVolumetricShadowMapUniformBufferParameters* FSceneViewState::AdaptiveVolumetricCameraMapUniformBufferParameters = nullptr

◆ AdaptiveVolumetricShadowMapUniformBufferMap

TMap<int32, TRDGUniformBufferRef<FAdaptiveVolumetricShadowMapUniformBufferParameters> > FSceneViewState::AdaptiveVolumetricShadowMapUniformBufferMap

◆ BeerShadowMapUniformBufferMap

TMap<int32, TRDGUniformBufferRef<FBeerShadowMapUniformBufferParameters> > FSceneViewState::BeerShadowMapUniformBufferMap

◆ bIsFreezing

uint32 FSceneViewState::bIsFreezing

Are we currently in the state of freezing rendering? (1 frame where we gather what was rendered)

◆ bIsFrozen

uint32 FSceneViewState::bIsFrozen

Is rendering currently frozen?

◆ bIsFrozenViewMatricesCached

uint32 FSceneViewState::bIsFrozenViewMatricesCached

True if the CachedViewMatrices is holding frozen view matrices, otherwise false

◆ [struct]

struct { ... } FSceneViewState::BloomFFTKernel

◆ bLumenSceneDataAdded

bool FSceneViewState::bLumenSceneDataAdded

◆ bUpdateLastExposure

bool FSceneViewState::bUpdateLastExposure

Whether to get the last exposure from GPU

◆ CachedViewMatrices

FViewMatrices FSceneViewState::CachedViewMatrices

The cache view matrices at the time of freezing or the cached debug fly cam's view matrices.

◆ CachedVisibilityBucketIndex

int32 FSceneViewState::CachedVisibilityBucketIndex

◆ CachedVisibilityChunk

const TArray<uint8>* FSceneViewState::CachedVisibilityChunk

Cached visibility data from the last call to ResolvePrecomputedVisibilityData.

◆ CachedVisibilityChunkIndex

int32 FSceneViewState::CachedVisibilityChunkIndex

◆ CachedVisibilityHandlerId

int32 FSceneViewState::CachedVisibilityHandlerId

◆ ConstantsBuffer

TRefCountPtr<FRDGPooledBuffer> FSceneViewState::ConstantsBuffer

◆ Curve

UCurveFloat* FSceneViewState::Curve = nullptr

◆ DecompressedVisibilityChunk

TArray<uint8> FSceneViewState::DecompressedVisibilityChunk

Storage to which compressed visibility chunks are uncompressed at runtime.

◆ DepthOfFieldState

TPimplPtr<DiaphragmDOF::FDOFViewState> FSceneViewState::DepthOfFieldState

◆ DistanceFieldAOHistoryRT

TRefCountPtr<IPooledRenderTarget> FSceneViewState::DistanceFieldAOHistoryRT

◆ DistanceFieldAOHistoryViewRect

FIntRect FSceneViewState::DistanceFieldAOHistoryViewRect

◆ DistanceFieldIrradianceHistoryRT

TRefCountPtr<IPooledRenderTarget> FSceneViewState::DistanceFieldIrradianceHistoryRT

◆ [struct]

struct { ... } FSceneViewState::FilmGrainCache

◆ ForwardLightingResources

TUniquePtr<FForwardLightingViewResources> FSceneViewState::ForwardLightingResources

◆ FrameIndex

uint32 FSceneViewState::FrameIndex

◆ FrozenPrimitives

TSet<FPrimitiveComponentId> FSceneViewState::FrozenPrimitives

The set of primitives that were rendered the frame that we froze rendering

◆ FrustumVoxelGridUniformBuffer

TRDGUniformBufferRef<FFrustumVoxelGridUniformBufferParameters> FSceneViewState::FrustumVoxelGridUniformBuffer = nullptr

◆ GlintShadingLUTsData

FGlintShadingLUTsStateData FSceneViewState::GlintShadingLUTsData

◆ GlobalDistanceFieldData

TRefCountPtr<FPersistentGlobalDistanceFieldData> FSceneViewState::GlobalDistanceFieldData

Potentially shared to save memory in cases where multiple view states share a common origin, such as cube map capture faces.

◆ HairStrandsViewStateData

FHairStrandsViewStateData FSceneViewState::HairStrandsViewStateData

◆ HLODSceneNodeVisibilityStates

TMap<FPrimitiveComponentId, FHLODSceneNodeVisibilityState> FSceneViewState::HLODSceneNodeVisibilityStates

◆ HLODVisibilityState

FHLODVisibilityState FSceneViewState::HLODVisibilityState

HLOD persistent fading and visibility state

◆ HZBOcclusionTests

FHZBOcclusionTester FSceneViewState::HZBOcclusionTests

◆ ImageSize

FIntPoint FSceneViewState::ImageSize

◆ LandscapeCachedMipBias

float FSceneViewState::LandscapeCachedMipBias

◆ LandscapeWeightmapSamplerCache

FSamplerStateRHIRef FSceneViewState::LandscapeWeightmapSamplerCache

◆ LastRenderTime

double FSceneViewState::LastRenderTime

◆ LightScatteringHistory

TRefCountPtr<IPooledRenderTarget> FSceneViewState::LightScatteringHistory

◆ LightScatteringHistoryPreExposure

float FSceneViewState::LightScatteringHistoryPreExposure

◆ LightSceneIdToForwardLightIndex

TMap<int32, int32> FSceneViewState::LightSceneIdToForwardLightIndex

◆ LightShaftBloomHistoryRTs

TMap<const ULightComponent*, TUniquePtr<FTemporalAAHistory> > FSceneViewState::LightShaftBloomHistoryRTs

◆ LightShaftOcclusionHistory

FTemporalAAHistory FSceneViewState::LightShaftOcclusionHistory

◆ Lumen

FLumenViewState FSceneViewState::Lumen

◆ LumenSurfaceCacheResolution

float FSceneViewState::LumenSurfaceCacheResolution

◆ MaterialTextureBilinearClampedSamplerCache

FSamplerStateRHIRef FSceneViewState::MaterialTextureBilinearClampedSamplerCache

◆ MaterialTextureBilinearWrapedSamplerCache

FSamplerStateRHIRef FSceneViewState::MaterialTextureBilinearWrapedSamplerCache

◆ MaterialTextureCachedMipBias

float FSceneViewState::MaterialTextureCachedMipBias

◆ MegaLights

FMegaLightsViewState FSceneViewState::MegaLights

◆ MotionBlurTargetDeltaTime

float FSceneViewState::MotionBlurTargetDeltaTime

◆ MotionBlurTimeScale

float FSceneViewState::MotionBlurTimeScale

◆ Occlusion

struct FSceneViewState::FOcclusion FSceneViewState::Occlusion

◆ OcclusionFeedback

FOcclusionFeedback FSceneViewState::OcclusionFeedback

◆ OcclusionFrameCounter

uint32 FSceneViewState::OcclusionFrameCounter

◆ OcclusionQueryPool

FRenderQueryPoolRHIRef FSceneViewState::OcclusionQueryPool

The view's occlusion query pool.

◆ OrthoVoxelGridUniformBuffer

TRDGUniformBufferRef<FOrthoVoxelGridUniformBufferParameters> FSceneViewState::OrthoVoxelGridUniformBuffer = nullptr

◆ OutputFrameIndex

uint32 FSceneViewState::OutputFrameIndex

◆ PendingPrevFrameNumber

uint32 FSceneViewState::PendingPrevFrameNumber

◆ PersistentSkyAtmosphereData

FPersistentSkyAtmosphereData FSceneViewState::PersistentSkyAtmosphereData

◆ PhysicalMipLevel

uint32 FSceneViewState::PhysicalMipLevel

◆ PhysicalRHI

FRHITexture* FSceneViewState::PhysicalRHI = nullptr

◆ PlanarReflectionOcclusionHistories

TMap<int32, FIndividualOcclusionHistory> FSceneViewState::PlanarReflectionOcclusionHistories

◆ PreExposure

float FSceneViewState::PreExposure

The current frame PreExposure

◆ PrevFrameNumber

uint32 FSceneViewState::PrevFrameNumber

◆ PrevFrameViewInfo

FPreviousViewInfo FSceneViewState::PrevFrameViewInfo

Informations of to persist for the next frame's FViewInfo::PrevViewInfo.

Under normal use case (temporal histories are not frozen), this gets cleared after setting FViewInfo::PrevViewInfo after being copied to FViewInfo::PrevViewInfo. New temporal histories get directly written to it.

When temporal histories are frozen (pause command, or r.Test.FreezeTemporalHistories), this keeps it's values, and the currently rendering FViewInfo should not update it. Refer to FViewInfo::bStatePrevViewInfoIsReadOnly.

◆ PrevLightScatteringConservativeDepthTexture

TRefCountPtr<IPooledRenderTarget> FSceneViewState::PrevLightScatteringConservativeDepthTexture

◆ PrevLightScatteringViewGridUVToViewRectVolumeUV

FVector2f FSceneViewState::PrevLightScatteringViewGridUVToViewRectVolumeUV

◆ PrevViewMatrixForOcclusionQuery

FMatrix44f FSceneViewState::PrevViewMatrixForOcclusionQuery

◆ PrevViewOriginForOcclusionQuery

FVector FSceneViewState::PrevViewOriginForOcclusionQuery

◆ PrimitiveFadingStates

FPrimitiveFadingStateMap FSceneViewState::PrimitiveFadingStates

For this view, the set of primitives that are currently fading, either in or out.

◆ PrimitiveOcclusionQueryPool

FFrameBasedOcclusionQueryPool FSceneViewState::PrimitiveOcclusionQueryPool

◆ Scale

float FSceneViewState::Scale = 0.f

◆ Scene

FScene* FSceneViewState::Scene

The scene pointer may be NULL – it's filled in by certain API calls that require a FSceneViewState and FScene to know about each other, Whenever a ViewState and Scene get linked, this pointer is set, and a pointer to the ViewState is added to an array in the Scene. The linking is necessary in cases where incremental FScene updates need to be reflected in cached data stored in FSceneViewState.

◆ SequencerState

ESequencerState FSceneViewState::SequencerState

◆ ShaderPrintStateData

FShaderPrintStateData FSceneViewState::ShaderPrintStateData

◆ ShadowOcclusionQueryMaps

◆ ShareOriginUniqueID

uint32 FSceneViewState::ShareOriginUniqueID

Cube map captures share an origin, allowing them to share things like global distance fields and Lumen scene data. Otherwise, this will just be the same as UniqueID.

◆ SimpleLightIdToForwardLightIndex

TMap<FSimpleLightId, int32> FSceneViewState::SimpleLightIdToForwardLightIndex

◆ Spectral

TRefCountPtr<IPooledRenderTarget> FSceneViewState::Spectral

◆ StochasticLighting

FStochasticLightingViewState FSceneViewState::StochasticLighting

◆ SubsurfaceScatteringQualityHistoryRT

TRefCountPtr<IPooledRenderTarget> FSceneViewState::SubsurfaceScatteringQualityHistoryRT

◆ TemporalAASampleIndex

int32 FSceneViewState::TemporalAASampleIndex

◆ TemporalLODState

FTemporalLODState FSceneViewState::TemporalLODState

◆ Texture

FTextureRHIRef FSceneViewState::Texture

◆ TextureRHI

FRHITexture* FSceneViewState::TextureRHI = nullptr

◆ TranslucencyLighting

FTranslucencyLightingViewState FSceneViewState::TranslucencyLighting

◆ UniqueID

uint32 FSceneViewState::UniqueID

◆ VolumetricCloudRenderTarget

FVolumetricRenderTargetViewStateData FSceneViewState::VolumetricCloudRenderTarget

◆ VolumetricCloudShadowmapPreviousAnchorPoint

FVector FSceneViewState::VolumetricCloudShadowmapPreviousAnchorPoint[NUM_ATMOSPHERE_LIGHTS]

◆ VolumetricCloudShadowmapPreviousAtmosphericLightDir

FVector FSceneViewState::VolumetricCloudShadowmapPreviousAtmosphericLightDir[NUM_ATMOSPHERE_LIGHTS]

◆ VolumetricCloudShadowmapPreviousAtmosphericLightPos

FVector FSceneViewState::VolumetricCloudShadowmapPreviousAtmosphericLightPos[NUM_ATMOSPHERE_LIGHTS]

◆ VolumetricCloudShadowmapPreviousTranslatedWorldToLightClipMatrix

FMatrix FSceneViewState::VolumetricCloudShadowmapPreviousTranslatedWorldToLightClipMatrix[NUM_ATMOSPHERE_LIGHTS]

◆ VolumetricCloudShadowRenderTarget

FTemporalRenderTargetState FSceneViewState::VolumetricCloudShadowRenderTarget[NUM_ATMOSPHERE_LIGHTS]

◆ VolumetricFogPrevResourceGridSize

FIntVector FSceneViewState::VolumetricFogPrevResourceGridSize

◆ VolumetricFogPrevUVMax

FVector2f FSceneViewState::VolumetricFogPrevUVMax

◆ VolumetricFogPrevUVMaxForTemporalBlend

FVector2f FSceneViewState::VolumetricFogPrevUVMaxForTemporalBlend

◆ VolumetricFogPrevViewGridRectUVToResourceUV

FVector2f FSceneViewState::VolumetricFogPrevViewGridRectUVToResourceUV

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