UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FSceneRenderer Class Referenceabstract

#include <SceneRendering.h>

+ Inheritance diagram for FSceneRenderer:

Classes

struct  FCustomRenderPassInfo
 

Public Member Functions

bool IsHeadLink () const
 
template<typename LambdaType >
void EnumerateLinkedViews (LambdaType &&Lambda, const FSceneView *ViewToSkip=nullptr)
 
template<typename LambdaType >
void EnumerateLinkedViewFamilies (LambdaType &&Lambda, const FSceneViewFamily *ViewFamilyToSkip=nullptr)
 
 FSceneRenderer (const FSceneViewFamily *InViewFamily, FHitProxyConsumer *HitProxyConsumer)
 
virtual ~FSceneRenderer ()
 
virtual UE::Renderer::Private::IShadowInvalidatingInstancesGetShadowInvalidatingInstancesInterface (const FSceneView *SceneView) override
 
virtual FViewFamilyInfoGetViewFamily () override
 
virtual void Render (FRDGBuilder &GraphBuilder, const FSceneRenderUpdateInputs *SceneUpdateInputs)=0
 
virtual void RenderHitProxies (FRDGBuilder &GraphBuilder, const FSceneRenderUpdateInputs *SceneUpdateInputs)
 
virtual bool ShouldRenderVelocities () const
 
virtual bool ShouldRenderPrePass () const
 
virtual bool ShouldRenderNanite () const
 
virtual bool AllowSimpleLights () const
 
void PrepareViewRectsForRendering ()
 
void DoCrossGPUTransfers (FRDGBuilder &GraphBuilder, FRDGTextureRef ViewFamilyTexture, TArrayView< FViewInfo > InViews, bool bCrossGPUTransferFencesDefer, FRHIGPUMask RenderTargetGPUMask, class FCrossGPUTransfersDeferred *TransfersDeferred)
 
void FlushCrossGPUTransfers (FRDGBuilder &GraphBuilder)
 
void FlushCrossGPUFences (FRDGBuilder &GraphBuilder)
 
bool DoOcclusionQueries () const
 
void FenceOcclusionTests (FRDGBuilder &GraphBuilder)
 
void WaitOcclusionTests (FRHICommandListImmediate &RHICmdList)
 
bool ShouldDumpMeshDrawCommandInstancingStats () const
 
void RenderSkyAtmosphereInternal (FRDGBuilder &GraphBuilder, const FSceneTextureShaderParameters &SceneTextures, FSkyAtmosphereRenderContext &SkyRenderContext)
 
void RenderVolumetricCloudsInternal (FRDGBuilder &GraphBuilder, FCloudRenderContext &CloudRC, FInstanceCullingManager &InstanceCullingManager, const FIntPoint &CloudViewportSize)
 
FGPUSceneDynamicContextGetGPUSceneDynamicContext ()
 
void VoxelizeFogVolumePrimitives (FRDGBuilder &GraphBuilder, const FViewInfo &View, const FVolumetricFogIntegrationParameterData &IntegrationData, FIntVector VolumetricFogGridSize, FVector GridZParams, float VolumetricFogDistance, bool bVoxelizeEmissive)
 
void RenderLightFunctionForVolumetricFog (FRDGBuilder &GraphBuilder, FViewInfo &View, const FSceneTextures &SceneTextures, FIntVector VolumetricFogGridSize, float VolumetricFogMaxDistance, FLightSceneInfo *DirectionalLightSceneInfo, FMatrix44f &OutLightFunctionTranslatedWorldToShadow, FRDGTexture *&OutLightFunctionTexture)
 
void RenderLocalLightsForVolumetricFog (FRDGBuilder &GraphBuilder, FViewInfo &View, int32 ViewIndex, bool bUseTemporalReprojection, const struct FVolumetricFogIntegrationParameterData &IntegrationData, const FExponentialHeightFogSceneInfo &FogInfo, FIntVector VolumetricFogGridSize, FVector GridZParams, const FRDGTextureDesc &VolumeDesc, FRDGTextureRef ConservativeDepthTexture, TConstArrayView< const FLightSceneInfo * > LightsToInject, TConstArrayView< const FLightSceneInfo * > RayTracedLightsToInject, FRDGTexture *&OutLocalShadowedLightScattering)
 
void RenderCapsuleShadowsForMovableSkylight (FRDGBuilder &GraphBuilder, const FViewInfo &View, FRDGTextureRef &BentNormalOutput) const
 
void RenderDistanceFieldAOScreenGrid (FRDGBuilder &GraphBuilder, const FSceneTextures &SceneTextures, const FViewInfo &View, const FDistanceFieldCulledObjectBufferParameters &CulledObjectBufferParameters, FRDGBufferRef ObjectTilesIndirectArguments, const FTileIntersectionParameters &TileIntersectionParameters, const FDistanceFieldAOParameters &Parameters, FRDGTextureRef DistanceFieldNormal, FRDGTextureRef &OutDynamicBentNormalAO)
 
void RenderDistanceFieldLighting (FRDGBuilder &GraphBuilder, const FSceneTextures &SceneTextures, const class FDistanceFieldAOParameters &Parameters, TArray< FRDGTextureRef > &OutDynamicBentNormalAOTextures, bool bModulateToSceneColor, bool bVisualizeAmbientOcclusion, bool bModulateToScreenSpaceAO=false)
 
void SetupVolumetricFog ()
 
bool ShouldRenderVolumetricFog () const
 
void ComputeVolumetricFog (FRDGBuilder &GraphBuilder, const FSceneTextures &SceneTextures)
 
virtual bool IsLumenEnabled (const FViewInfo &View) const
 
virtual bool IsLumenGIEnabled (const FViewInfo &View) const
 
virtual bool AnyViewHasGIMethodSupportingDFAO () const
 
FORCEINLINE FSceneTexturesGetActiveSceneTextures ()
 
FORCEINLINE FSceneTexturesConfigGetActiveSceneTexturesConfig ()
 
FORCEINLINE const FSceneTexturesGetActiveSceneTextures () const
 
FORCEINLINE const FSceneTexturesConfigGetActiveSceneTexturesConfig () const
 
 DECLARE_MULTICAST_DELEGATE_OneParam (FSceneOnScreenMessagesDelegate, FScreenMessageWriter &)
 
TConstStridedView< FSceneViewGetSceneViews () const
 
bool IsRenderingStereo () const
 
- Public Member Functions inherited from FSceneRendererBase
 FSceneRendererBase ()
 
 FSceneRendererBase (FScene &InScene)
 
FSceneGetScene () final override
 
const FSceneUniformBufferGetSceneUniforms () const final override
 
FSceneUniformBufferGetSceneUniforms () final override
 
TRDGUniformBufferRef< FSceneUniformParameters > GetSceneUniformBufferRef (FRDGBuilder &GraphBuilder) override final
 
void InitSceneExtensionsRenderers (const FEngineShowFlags &EngineShowFlags, bool bValidateCallbacks=false)
 
FSceneExtensionsRenderersGetSceneExtensionsRenderers ()
 
const FSceneExtensionsRenderersGetSceneExtensionsRenderers () const
 
virtual FDeferredShadingSceneRendererGetDeferredShadingSceneRenderer ()
 
- Public Member Functions inherited from ISceneRenderer
virtual ~ISceneRenderer ()=default
 

Static Public Member Functions

static void PreallocateCrossGPUFences (TConstArrayView< FSceneRenderer * > SceneRenderers)
 
static bool ShouldCompositeEditorPrimitives (const FViewInfo &View)
 
static FIntPoint ApplyResolutionFraction (const FSceneViewFamily &ViewFamily, const FIntPoint &UnscaledViewSize, float ResolutionFraction)
 
static FIntPoint QuantizeViewRectMin (const FIntPoint &ViewRectMin)
 
static FIntPoint GetDesiredInternalBufferSize (const FSceneViewFamily &ViewFamily)
 
static ISceneViewFamilyScreenPercentageForkScreenPercentageInterface (const ISceneViewFamilyScreenPercentage *ScreenPercentageInterface, FSceneViewFamily &ForkedViewFamily)
 
static int32 GetRefractionQuality (const FSceneViewFamily &ViewFamily)
 
static void SetStereoViewport (FRHICommandList &RHICmdList, const FViewInfo &View, float ViewportScale=1.0f)
 
static void GetLightNameForDrawEvent (const FLightSceneProxy *LightProxy, FString &LightNameWithLevel)
 
- Static Public Member Functions inherited from FSceneRendererBase
static void SetActiveInstance (FRDGBuilder &GraphBuilder, FSceneRendererBase *SceneRenderer)
 
static FSceneRendererBaseGetActiveInstance (FRDGBuilder &GraphBuilder)
 

Public Attributes

FDepthPassInfo DepthPass
 
FSceneRenderingBulkObjectAllocator Allocator
 
FViewFamilyInfo ViewFamily
 
TArray< FCustomRenderPassInfoCustomRenderPassInfos
 
TArray< FViewInfo * > AllViews
 
struct { 
 
   FSceneRenderer *   Head = nullptr 
 
   FSceneRenderer *   Next = nullptr 
 
Link 
 
DynamicRenderScaling::TMap< floatDynamicResolutionFractions
 
DynamicRenderScaling::TMap< floatDynamicResolutionUpperBounds
 
TArray< FVisibleLightInfo, SceneRenderingAllocatorVisibleLightInfos
 
UE::FMutex DispatchedShadowDepthPassesMutex
 
TArray< FParallelMeshDrawCommandPass *, SceneRenderingAllocatorDispatchedShadowDepthPasses
 
FSortedShadowMaps SortedShadowsForShadowDepthPass
 
FVirtualShadowMapArray VirtualShadowMapArray
 
LightFunctionAtlas::FLightFunctionAtlas LightFunctionAtlas
 
bool bHasRequestedToggleFreeze
 
bool bUsedPrecomputedVisibility
 
TArray< FString, SceneRenderingAllocatorUsedWholeScenePointLightNames
 
ERHIFeatureLevel::Type FeatureLevel
 
EShaderPlatform ShaderPlatform
 
bool bGPUMasksComputed
 
FRHIGPUMask RenderTargetGPUMask
 
FSceneOnScreenMessagesDelegate OnGetOnScreenMessages
 
- Public Attributes inherited from FSceneRendererBase
FSceneScene = nullptr
 
TArray< FViewInfoViews
 

Static Public Attributes

static FOcclusionSubmittedFenceState OcclusionSubmittedFence [FOcclusionQueryHelpers::MaxBufferedOcclusionFrames]
 
static FGlobalBoundShaderState OcclusionTestBoundShaderState
 
static TGlobalResource< FGlobalDynamicReadBufferDynamicReadBufferForInitViews
 
static TGlobalResource< FGlobalDynamicReadBufferDynamicReadBufferForRayTracing
 
static TGlobalResource< FGlobalDynamicReadBufferDynamicReadBufferForShadows
 

Protected Types

enum class  ERendererOutput { DepthPrepassOnly , FinalSceneColor }
 

Protected Member Functions

ERendererOutput GetRendererOutput () const
 
FDynamicShadowsTaskDataBeginInitDynamicShadows (FRDGBuilder &GraphBuilder, bool bRunningEarly, IVisibilityTaskData *VisibilityTaskData, FInstanceCullingManager &InstanceCullingManager)
 
void FinishInitDynamicShadows (FRDGBuilder &GraphBuilder, FDynamicShadowsTaskData *TaskData)
 
void FinishDynamicShadowMeshPassSetup (FRDGBuilder &GraphBuilder, FDynamicShadowsTaskData *TaskData)
 
FDynamicShadowsTaskDataInitDynamicShadows (FRDGBuilder &GraphBuilder, FInstanceCullingManager &InstanceCullingManager)
 
void CreateDynamicShadows (FDynamicShadowsTaskData &TaskData)
 
void FilterDynamicShadows (FDynamicShadowsTaskData &TaskData)
 
void SetupMeshPass (FViewInfo &View, FExclusiveDepthStencil::Type BasePassDepthStencilAccess, FViewCommands &ViewCommands, FInstanceCullingManager &InstanceCullingManager)
 
void RenderShadowProjections (FRDGBuilder &GraphBuilder, FRDGTextureRef OutputTexture, const FMinimalSceneTextures &SceneTextures, const FLightSceneProxy *LightSceneProxy, TArrayView< const FProjectedShadowInfo *const > Shadows, bool bSubPixelShadow, bool bProjectingForForwardShading)
 
void RenderShadowProjections (FRDGBuilder &GraphBuilder, const FMinimalSceneTextures &SceneTextures, FRDGTextureRef ScreenShadowMaskTexture, FRDGTextureRef ScreenShadowMaskSubPixelTexture, const FLightSceneInfo *LightSceneInfo, bool bProjectingForForwardShading)
 
void BeginAsyncDistanceFieldShadowProjections (FRDGBuilder &GraphBuilder, const FMinimalSceneTextures &SceneTextures, const FDynamicShadowsTaskData *TaskData) const
 
TRefCountPtr< FProjectedShadowInfoGetCachedPreshadow (const FLightPrimitiveInteraction *InParentInteraction, const FProjectedShadowInitializer &Initializer, const FBoxSphereBounds &Bounds, uint32 InResolutionX)
 
void CreatePerObjectProjectedShadow (FDynamicShadowsTaskData &TaskData, FLightPrimitiveInteraction *Interaction, bool bCreateTranslucentObjectShadow, bool bCreateInsetObjectShadow, const TArray< FProjectedShadowInfo *, SceneRenderingAllocator > &ViewDependentWholeSceneShadows, TArray< FProjectedShadowInfo *, SceneRenderingAllocator > &OutPreShadows)
 
void SetupInteractionShadows (FDynamicShadowsTaskData &TaskData, FLightPrimitiveInteraction *Interaction, FVisibleLightInfo &VisibleLightInfo, bool bStaticSceneOnly, const TArray< FProjectedShadowInfo *, SceneRenderingAllocator > &ViewDependentWholeSceneShadows, TArray< FProjectedShadowInfo *, SceneRenderingAllocator > &PreShadows)
 
void AddViewDependentWholeSceneShadowsForView (TArray< FProjectedShadowInfo *, SceneRenderingAllocator > &ShadowInfos, TArray< FProjectedShadowInfo *, SceneRenderingAllocator > &ShadowInfosThatNeedCulling, FVisibleLightInfo &VisibleLightInfo, FLightSceneInfo &LightSceneInfo, int64 CachedShadowMapsSize, uint32 &NumCSMCachesUpdatedThisFrame)
 
void AllocateShadowDepthTargets (FDynamicShadowsTaskData &TaskData)
 
void AllocateAtlasedShadowDepthTargets (FRHICommandListBase &RHICmdList, TConstArrayView< FProjectedShadowInfo * > Shadows, TArray< FSortedShadowMapAtlas, SceneRenderingAllocator > &OutAtlases)
 
void AllocateCachedShadowDepthTargets (FRHICommandListBase &RHICmdList, TConstArrayView< FProjectedShadowInfo * > CachedShadows)
 
void AllocateCSMDepthTargets (FRHICommandListBase &RHICmdList, TConstArrayView< FProjectedShadowInfo * > WholeSceneDirectionalShadows, TArray< FSortedShadowMapAtlas, SceneRenderingAllocator > &OutAtlases)
 
void AllocateOnePassPointLightDepthTargets (FRHICommandListBase &RHICmdList, TConstArrayView< FProjectedShadowInfo * > WholeScenePointShadows)
 
void AllocateTranslucentShadowDepthTargets (FRHICommandListBase &RHICmdList, TConstArrayView< FProjectedShadowInfo * > TranslucentShadows)
 
void AllocateMobileCSMAndSpotLightShadowDepthTargets (FRHICommandListBase &RHICmdList, TConstArrayView< FProjectedShadowInfo * > MobileCSMAndSpotLightShadows)
 
bool CheckForProjectedShadows (const FLightSceneInfo *LightSceneInfo) const
 
void BeginGatherShadowPrimitives (FDynamicShadowsTaskData *TaskData, IVisibilityTaskData *VisibilityTaskData)
 
void FinishGatherShadowPrimitives (FDynamicShadowsTaskData *TaskData)
 
void RenderShadowDepthMaps (FRDGBuilder &GraphBuilder, FDynamicShadowsTaskData *DynamicShadowsTaskData, FInstanceCullingManager &InstanceCullingManager, FRDGExternalAccessQueue &ExternalAccessQueue)
 
void RenderShadowDepthMapAtlases (FRDGBuilder &GraphBuilder)
 
void CreateWholeSceneProjectedShadow (FDynamicShadowsTaskData &TaskData, FLightSceneInfo *LightSceneInfo, int64 CachedShadowMapsSize, uint32 &NumPointShadowCachesUpdatedThisFrame, uint32 &NumSpotShadowCachesUpdatedThisFrame)
 
void UpdatePreshadowCache ()
 
void InitProjectedShadowVisibility (FDynamicShadowsTaskData &TaskData)
 
void DrawDebugShadowFrustum (FViewInfo &View, FProjectedShadowInfo &ProjectedShadowInfo)
 
void GatherShadowDynamicMeshElements (FDynamicShadowsTaskData &TaskData)
 
bool RenderCapsuleDirectShadows (FRDGBuilder &GraphBuilder, const FLightSceneInfo &LightSceneInfo, FRDGTextureRef ScreenShadowMaskTexture, TArrayView< const FProjectedShadowInfo *const > CapsuleShadows, bool bProjectingForForwardShading) const
 
void PreVisibilityFrameSetup (FRDGBuilder &GraphBuilder)
 
void GatherReflectionCaptureLightMeshElements ()
 
void PostVisibilityFrameSetup (FILCUpdatePrimTaskData *&OutILCTaskData)
 
void InitFogConstants ()
 
bool ShouldRenderTranslucency () const
 
IVisibilityTaskDataOnRenderBegin (FRDGBuilder &GraphBuilder, const FSceneRenderUpdateInputs *SceneUpdateInputs)
 
void OnRenderFinish (FRDGBuilder &GraphBuilder, FRDGTextureRef ViewFamilyTexture)
 
bool RenderCustomDepthPass (FRDGBuilder &GraphBuilder, FCustomDepthTextures &CustomDepthTextures, const FSceneTextureShaderParameters &SceneTextures, TConstArrayView< Nanite::FRasterResults > PrimaryNaniteRasterResults, TConstArrayView< Nanite::FPackedView > PrimaryNaniteViews)
 
void UpdatePrimitiveIndirectLightingCacheBuffers (FRHICommandListBase &RHICmdList)
 
void RenderPlanarReflection (class FPlanarReflectionSceneProxy *ReflectionSceneProxy)
 
void InitSkyAtmosphereForViews (FRHICommandListImmediate &RHICmdList, FRDGBuilder &GraphBuilder)
 
void RenderSkyAtmosphereLookUpTables (FRDGBuilder &GraphBuilder, class FSkyAtmospherePendingRDGResources &PendingRDGResources)
 
void RenderSkyAtmosphere (FRDGBuilder &GraphBuilder, const FMinimalSceneTextures &SceneTextures)
 
void InitVolumetricCloudsForViews (FRDGBuilder &GraphBuilder, bool bShouldRenderVolumetricCloud, FInstanceCullingManager &InstanceCullingManager)
 
bool RenderVolumetricCloud (FRDGBuilder &GraphBuilder, const FMinimalSceneTextures &SceneTextures, bool bSkipVolumetricRenderTarget, bool bSkipPerPixelTracing, FRDGTextureRef HalfResolutionDepthCheckerboardMinMaxTexture, FRDGTextureRef QuarterResolutionDepthMinMaxTexture, bool bAsyncCompute, FInstanceCullingManager &InstanceCullingManager)
 
void RenderSkyAtmosphereEditorNotifications (FRDGBuilder &GraphBuilder, TArrayView< FViewInfo > InViews, FRDGTextureRef SceneColorTexture) const
 
void GatherAndSortLights (FSortedLightSetSceneInfo &OutSortedLights, bool bShadowedLightsInClustered=false)
 
void UpdateLightFunctionAtlasTaskFunction ()
 
FComputeLightGridOutput ComputeLightGrid (FRDGBuilder &GraphBuilder, bool bCullLightsToGrid, const FSortedLightSetSceneInfo &SortedLightSet, TArray< FForwardLightUniformParameters *, TInlineAllocator< 2 > > &PerViewForwardLightUniformParameters)
 
FComputeLightGridOutput PrepareForwardLightData (FRDGBuilder &GraphBuilder, bool bCullLightsToGrid, const FSortedLightSetSceneInfo &SortedLightSet)
 
bool CheckForLightFunction (const FLightSceneInfo *LightSceneInfo) const
 
void SetupSceneReflectionCaptureBuffer (FRHICommandListImmediate &RHICmdList)
 
void RenderVelocities (FRDGBuilder &GraphBuilder, TArrayView< FViewInfo > InViews, const FSceneTextures &SceneTextures, EVelocityPass VelocityPass, bool bForceVelocity, bool bBindRenderTarget=true)
 
void RenderMeshDistanceFieldVisualization (FRDGBuilder &GraphBuilder, const FMinimalSceneTextures &SceneTextures)
 
void CheckShadowDepthRenderCompleted () const
 
virtual void ComputeLightVisibility ()
 

Static Protected Member Functions

static void GatherSimpleLights (const FSceneViewFamily &ViewFamily, const TArray< FViewInfo > &Views, FSimpleLightArray &SimpleLights)
 
static bool ShouldRenderTranslucency (ETranslucencyPass::Type TranslucencyPass, TArrayView< FViewInfo > InViews)
 
static bool ShouldRenderSkyAtmosphereEditorNotifications (TArrayView< FViewInfo > Views)
 
static void CreateSplitScreenDebugViewFamilies (const FSceneViewFamily &InFamily, TArray< const FSceneViewFamily * > &OutViewFamilies, TArray< const FSceneViewFamily *, TFixedAllocator< 2 > > &OutFamiliesStorage)
 
static void DestroySplitScreenDebugViewFamilies (TConstArrayView< const FSceneViewFamily * > ViewFamilies)
 

Protected Attributes

FIntPoint FamilySize
 
class FFXSystemInterfaceFXSystem = nullptr
 
bool bDumpMeshDrawCommandInstancingStats
 
FGPUSceneDynamicContext GPUSceneDynamicContext
 

Friends

struct FGatherShadowPrimitivesPrepareTask
 
class FVisibilityTaskData
 
class FRendererModule
 
class FSceneRenderProcessor
 

Detailed Description

Used as the scope for scene rendering functions. It is initialized in the game thread by FSceneViewFamily::BeginRender, and then passed to the rendering thread. The rendering thread calls Render(), and deletes the scene renderer when it returns.

Member Enumeration Documentation

◆ ERendererOutput

enum class FSceneRenderer::ERendererOutput
strongprotected
Enumerator
DepthPrepassOnly 
FinalSceneColor 

Constructor & Destructor Documentation

◆ FSceneRenderer()

FSceneRenderer::FSceneRenderer ( const FSceneViewFamily InViewFamily,
FHitProxyConsumer HitProxyConsumer 
)

◆ ~FSceneRenderer()

FSceneRenderer::~FSceneRenderer ( )
virtual

Member Function Documentation

◆ AddViewDependentWholeSceneShadowsForView()

void FSceneRenderer::AddViewDependentWholeSceneShadowsForView ( TArray< FProjectedShadowInfo *, SceneRenderingAllocator > &  ShadowInfos,
TArray< FProjectedShadowInfo *, SceneRenderingAllocator > &  ShadowInfosThatNeedCulling,
FVisibleLightInfo VisibleLightInfo,
FLightSceneInfo LightSceneInfo,
int64  CachedShadowMapsSize,
uint32 NumCSMCachesUpdatedThisFrame 
)
protected

Generates FProjectedShadowInfos for all wholesceneshadows on the given light.

◆ AllocateAtlasedShadowDepthTargets()

void FSceneRenderer::AllocateAtlasedShadowDepthTargets ( FRHICommandListBase RHICmdList,
TConstArrayView< FProjectedShadowInfo * >  Shadows,
TArray< FSortedShadowMapAtlas, SceneRenderingAllocator > &  OutAtlases 
)
protected

◆ AllocateCachedShadowDepthTargets()

void FSceneRenderer::AllocateCachedShadowDepthTargets ( FRHICommandListBase RHICmdList,
TConstArrayView< FProjectedShadowInfo * >  CachedShadows 
)
protected

◆ AllocateCSMDepthTargets()

void FSceneRenderer::AllocateCSMDepthTargets ( FRHICommandListBase RHICmdList,
TConstArrayView< FProjectedShadowInfo * >  WholeSceneDirectionalShadows,
TArray< FSortedShadowMapAtlas, SceneRenderingAllocator > &  OutAtlases 
)
protected

◆ AllocateMobileCSMAndSpotLightShadowDepthTargets()

void FSceneRenderer::AllocateMobileCSMAndSpotLightShadowDepthTargets ( FRHICommandListBase RHICmdList,
TConstArrayView< FProjectedShadowInfo * >  MobileCSMAndSpotLightShadows 
)
protected

◆ AllocateOnePassPointLightDepthTargets()

void FSceneRenderer::AllocateOnePassPointLightDepthTargets ( FRHICommandListBase RHICmdList,
TConstArrayView< FProjectedShadowInfo * >  WholeScenePointShadows 
)
protected

◆ AllocateShadowDepthTargets()

void FSceneRenderer::AllocateShadowDepthTargets ( FDynamicShadowsTaskData TaskData)
protected

◆ AllocateTranslucentShadowDepthTargets()

void FSceneRenderer::AllocateTranslucentShadowDepthTargets ( FRHICommandListBase RHICmdList,
TConstArrayView< FProjectedShadowInfo * >  TranslucentShadows 
)
protected

◆ AllowSimpleLights()

bool FSceneRenderer::AllowSimpleLights ( ) const
virtual

Reimplemented in FMobileSceneRenderer.

◆ AnyViewHasGIMethodSupportingDFAO()

virtual bool FSceneRenderer::AnyViewHasGIMethodSupportingDFAO ( ) const
inlinevirtual

◆ ApplyResolutionFraction()

FIntPoint FSceneRenderer::ApplyResolutionFraction ( const FSceneViewFamily ViewFamily,
const FIntPoint UnscaledViewSize,
float  ResolutionFraction 
)
static

Apply the ResolutionFraction on ViewSize, taking into account renderer's requirements.

◆ BeginAsyncDistanceFieldShadowProjections()

void FSceneRenderer::BeginAsyncDistanceFieldShadowProjections ( FRDGBuilder GraphBuilder,
const FMinimalSceneTextures SceneTextures,
const FDynamicShadowsTaskData TaskData 
) const
protected

◆ BeginGatherShadowPrimitives()

void FSceneRenderer::BeginGatherShadowPrimitives ( FDynamicShadowsTaskData TaskData,
IVisibilityTaskData VisibilityTaskData 
)
protected

Gathers the list of primitives used to draw various shadow types

◆ BeginInitDynamicShadows()

FDynamicShadowsTaskData * FSceneRenderer::BeginInitDynamicShadows ( FRDGBuilder GraphBuilder,
bool  bRunningEarly,
IVisibilityTaskData VisibilityTaskData,
FInstanceCullingManager InstanceCullingManager 
)
protected

◆ CheckForLightFunction()

bool FSceneRenderer::CheckForLightFunction ( const FLightSceneInfo LightSceneInfo) const
protected

Used by RenderLights to figure out if light functions need to be rendered to the attenuation buffer.

Parameters
LightSceneInfoRepresents the current light
Returns
true if anything got rendered

◆ CheckForProjectedShadows()

bool FSceneRenderer::CheckForProjectedShadows ( const FLightSceneInfo LightSceneInfo) const
protected

Used by RenderLights to figure out if projected shadows need to be rendered to the attenuation buffer. Or to render a given shadowdepth map for forward rendering.

Parameters
LightSceneInfoRepresents the current light
Returns
true if anything needs to be rendered

Used by RenderLights to figure out if projected shadows need to be rendered to the attenuation buffer.

Parameters
LightSceneInfoRepresents the current light
Returns
true if anything needs to be rendered

◆ CheckShadowDepthRenderCompleted()

void FSceneRenderer::CheckShadowDepthRenderCompleted ( ) const
inlineprotected

◆ ComputeLightGrid()

FComputeLightGridOutput FSceneRenderer::ComputeLightGrid ( FRDGBuilder GraphBuilder,
bool  bCullLightsToGrid,
const FSortedLightSetSceneInfo SortedLightSet,
TArray< FForwardLightUniformParameters *, TInlineAllocator< 2 > > &  PerViewForwardLightUniformParameters 
)
protected

Culls local lights and reflection probes to a grid in frustum space, builds one light list and grid per view in the current Views.
Needed for forward shading or translucency using the Surface lighting mode, and clustered deferred shading.

◆ ComputeLightVisibility()

void FSceneRenderer::ComputeLightVisibility ( )
protectedvirtual

◆ ComputeVolumetricFog()

void FSceneRenderer::ComputeVolumetricFog ( FRDGBuilder GraphBuilder,
const FSceneTextures SceneTextures 
)

◆ CreateDynamicShadows()

void FSceneRenderer::CreateDynamicShadows ( FDynamicShadowsTaskData TaskData)
protected

◆ CreatePerObjectProjectedShadow()

void FSceneRenderer::CreatePerObjectProjectedShadow ( FDynamicShadowsTaskData TaskData,
FLightPrimitiveInteraction Interaction,
bool  bCreateTranslucentObjectShadow,
bool  bCreateInsetObjectShadow,
const TArray< FProjectedShadowInfo *, SceneRenderingAllocator > &  ViewDependentWholeSceneShadows,
TArray< FProjectedShadowInfo *, SceneRenderingAllocator > &  OutPreShadows 
)
protected

Creates a per object projected shadow for the given interaction.

◆ CreateSplitScreenDebugViewFamilies()

static void FSceneRenderer::CreateSplitScreenDebugViewFamilies ( const FSceneViewFamily InFamily,
TArray< const FSceneViewFamily * > &  OutViewFamilies,
TArray< const FSceneViewFamily *, TFixedAllocator< 2 > > &  OutFamiliesStorage 
)
staticprotected

◆ CreateWholeSceneProjectedShadow()

void FSceneRenderer::CreateWholeSceneProjectedShadow ( FDynamicShadowsTaskData TaskData,
FLightSceneInfo LightSceneInfo,
int64  CachedShadowMapsSize,
uint32 NumPointShadowCachesUpdatedThisFrame,
uint32 NumSpotShadowCachesUpdatedThisFrame 
)
protected

Creates a projected shadow for all primitives affected by a light.

Parameters
LightSceneInfo- The light to create a shadow for.

◆ DECLARE_MULTICAST_DELEGATE_OneParam()

FSceneRenderer::DECLARE_MULTICAST_DELEGATE_OneParam ( FSceneOnScreenMessagesDelegate  ,
FScreenMessageWriter  
)

◆ DestroySplitScreenDebugViewFamilies()

static void FSceneRenderer::DestroySplitScreenDebugViewFamilies ( TConstArrayView< const FSceneViewFamily * >  ViewFamilies)
staticprotected

◆ DoCrossGPUTransfers()

void FSceneRenderer::DoCrossGPUTransfers ( FRDGBuilder GraphBuilder,
FRDGTextureRef  ViewFamilyTexture,
TArrayView< FViewInfo InViews,
bool  bCrossGPUTransferFencesDefer,
FRHIGPUMask  RenderTargetGPUMask,
class FCrossGPUTransfersDeferred TransfersDeferred 
)

◆ DoOcclusionQueries()

bool FSceneRenderer::DoOcclusionQueries ( ) const

◆ DrawDebugShadowFrustum()

void FSceneRenderer::DrawDebugShadowFrustum ( FViewInfo View,
FProjectedShadowInfo ProjectedShadowInfo 
)
protected

Adds a debug shadow frustum to the views primitive draw interface.

◆ EnumerateLinkedViewFamilies()

template<typename LambdaType >
void FSceneRenderer::EnumerateLinkedViewFamilies ( LambdaType &&  Lambda,
const FSceneViewFamily ViewFamilyToSkip = nullptr 
)
inline

◆ EnumerateLinkedViews()

template<typename LambdaType >
void FSceneRenderer::EnumerateLinkedViews ( LambdaType &&  Lambda,
const FSceneView ViewToSkip = nullptr 
)
inline

◆ FenceOcclusionTests()

void FSceneRenderer::FenceOcclusionTests ( FRDGBuilder GraphBuilder)

◆ FilterDynamicShadows()

void FSceneRenderer::FilterDynamicShadows ( FDynamicShadowsTaskData TaskData)
protected

◆ FinishDynamicShadowMeshPassSetup()

void FSceneRenderer::FinishDynamicShadowMeshPassSetup ( FRDGBuilder GraphBuilder,
FDynamicShadowsTaskData TaskData 
)
protected

◆ FinishGatherShadowPrimitives()

void FSceneRenderer::FinishGatherShadowPrimitives ( FDynamicShadowsTaskData TaskData)
protected

◆ FinishInitDynamicShadows()

void FSceneRenderer::FinishInitDynamicShadows ( FRDGBuilder GraphBuilder,
FDynamicShadowsTaskData TaskData 
)
protected

◆ FlushCrossGPUFences()

void FSceneRenderer::FlushCrossGPUFences ( FRDGBuilder GraphBuilder)

◆ FlushCrossGPUTransfers()

void FSceneRenderer::FlushCrossGPUTransfers ( FRDGBuilder GraphBuilder)

◆ ForkScreenPercentageInterface()

static ISceneViewFamilyScreenPercentage * FSceneRenderer::ForkScreenPercentageInterface ( const ISceneViewFamilyScreenPercentage ScreenPercentageInterface,
FSceneViewFamily ForkedViewFamily 
)
inlinestatic

Exposes renderer's privilege to fork view family's screen percentage interface.

◆ GatherAndSortLights()

void FSceneRenderer::GatherAndSortLights ( FSortedLightSetSceneInfo OutSortedLights,
bool  bShadowedLightsInClustered = false 
)
protected

Rounds up lights and sorts them according to what type of renderer supports them. The result is stored in OutSortedLights NOTE: Also extracts the SimpleLights AND adds them to the sorted range (first sub-range).

◆ GatherReflectionCaptureLightMeshElements()

void FSceneRenderer::GatherReflectionCaptureLightMeshElements ( )
protected

◆ GatherShadowDynamicMeshElements()

void FSceneRenderer::GatherShadowDynamicMeshElements ( FDynamicShadowsTaskData TaskData)
protected

Gathers dynamic mesh elements for all shadows.

◆ GatherSimpleLights()

void FSceneRenderer::GatherSimpleLights ( const FSceneViewFamily ViewFamily,
const TArray< FViewInfo > &  Views,
FSimpleLightArray SimpleLights 
)
staticprotected

Gathers simple lights from visible primtives in the passed in views.

◆ GetActiveSceneTextures() [1/2]

FORCEINLINE FSceneTextures & FSceneRenderer::GetActiveSceneTextures ( )
inline

◆ GetActiveSceneTextures() [2/2]

FORCEINLINE const FSceneTextures & FSceneRenderer::GetActiveSceneTextures ( ) const
inline

◆ GetActiveSceneTexturesConfig() [1/2]

FORCEINLINE FSceneTexturesConfig & FSceneRenderer::GetActiveSceneTexturesConfig ( )
inline

◆ GetActiveSceneTexturesConfig() [2/2]

FORCEINLINE const FSceneTexturesConfig & FSceneRenderer::GetActiveSceneTexturesConfig ( ) const
inline

◆ GetCachedPreshadow()

TRefCountPtr< FProjectedShadowInfo > FSceneRenderer::GetCachedPreshadow ( const FLightPrimitiveInteraction InParentInteraction,
const FProjectedShadowInitializer Initializer,
const FBoxSphereBounds Bounds,
uint32  InResolutionX 
)
protected

Finds a matching cached preshadow, if one exists.

Returns a cached preshadow matching the input criteria if one exists.

◆ GetDesiredInternalBufferSize()

FIntPoint FSceneRenderer::GetDesiredInternalBufferSize ( const FSceneViewFamily ViewFamily)
static

Get the desired buffer size from the view family's ResolutionFraction upperbound. Can be called on game thread or render thread.

◆ GetGPUSceneDynamicContext()

FGPUSceneDynamicContext & FSceneRenderer::GetGPUSceneDynamicContext ( )
inline

◆ GetLightNameForDrawEvent()

void FSceneRenderer::GetLightNameForDrawEvent ( const FLightSceneProxy LightProxy,
FString &  LightNameWithLevel 
)
static

Gets a readable light name for use with a draw event.

◆ GetRefractionQuality()

int32 FSceneRenderer::GetRefractionQuality ( const FSceneViewFamily ViewFamily)
static

◆ GetRendererOutput()

FSceneRenderer::ERendererOutput FSceneRenderer::GetRendererOutput ( ) const
protected

◆ GetSceneViews()

TConstStridedView< FSceneView > FSceneRenderer::GetSceneViews ( ) const
inline

◆ GetShadowInvalidatingInstancesInterface()

UE::Renderer::Private::IShadowInvalidatingInstances * FSceneRenderer::GetShadowInvalidatingInstancesInterface ( const FSceneView SceneView)
overridevirtual

If supported, will return an interface to mark primitives as invalidating the shadows (which will be effected post-frame). The returned interface will mark primitives for view-dependent shadows according to the supplied SceneView. Returns null if there is no need to invalidate anything.

Reimplemented from ISceneRenderer.

◆ GetViewFamily()

virtual FViewFamilyInfo * FSceneRenderer::GetViewFamily ( )
inlineoverridevirtual

The view family being rendered. This references the Views array, if it exsists. A view family is not always set up by all rendering paths, notably not the VT rendering path.

Reimplemented from FSceneRendererBase.

◆ InitDynamicShadows()

FDynamicShadowsTaskData * FSceneRenderer::InitDynamicShadows ( FRDGBuilder GraphBuilder,
FInstanceCullingManager InstanceCullingManager 
)
protected

◆ InitFogConstants()

void FSceneRenderer::InitFogConstants ( )
protected

Initialized the fog constants for each view.

◆ InitProjectedShadowVisibility()

void FSceneRenderer::InitProjectedShadowVisibility ( FDynamicShadowsTaskData TaskData)
protected

Calculates projected shadow visibility.

◆ InitSkyAtmosphereForViews()

void FSceneRenderer::InitSkyAtmosphereForViews ( FRHICommandListImmediate RHICmdList,
FRDGBuilder GraphBuilder 
)
protected

Initialise sky atmosphere resources.

◆ InitVolumetricCloudsForViews()

void FSceneRenderer::InitVolumetricCloudsForViews ( FRDGBuilder GraphBuilder,
bool  bShouldRenderVolumetricCloud,
FInstanceCullingManager InstanceCullingManager 
)
protected

Initialise volumetric cloud resources.

◆ IsHeadLink()

bool FSceneRenderer::IsHeadLink ( ) const
inline

◆ IsLumenEnabled()

virtual bool FSceneRenderer::IsLumenEnabled ( const FViewInfo View) const
inlinevirtual

◆ IsLumenGIEnabled()

virtual bool FSceneRenderer::IsLumenGIEnabled ( const FViewInfo View) const
inlinevirtual

◆ IsRenderingStereo()

bool FSceneRenderer::IsRenderingStereo ( ) const
inline

◆ OnRenderBegin()

IVisibilityTaskData * FSceneRenderer::OnRenderBegin ( FRDGBuilder GraphBuilder,
const FSceneRenderUpdateInputs SceneUpdateInputs 
)
protected

Called at the begin / finish of the scene render.

◆ OnRenderFinish()

void FSceneRenderer::OnRenderFinish ( FRDGBuilder GraphBuilder,
FRDGTextureRef  ViewFamilyTexture 
)
protected

Finishes the view family rendering.

(UE_BUILD_SHIPPING || UE_BUILD_TEST)

◆ PostVisibilityFrameSetup()

void FSceneRenderer::PostVisibilityFrameSetup ( FILCUpdatePrimTaskData *&  OutILCTaskData)
protected

Performs once per frame setup after to visibility determination.

◆ PreallocateCrossGPUFences()

void FSceneRenderer::PreallocateCrossGPUFences ( TConstArrayView< FSceneRenderer * >  SceneRenderers)
static

Logic to update render targets across all GPUs

◆ PrepareForwardLightData()

FComputeLightGridOutput FSceneRenderer::PrepareForwardLightData ( FRDGBuilder GraphBuilder,
bool  bCullLightsToGrid,
const FSortedLightSetSceneInfo SortedLightSet 
)
protected

Prepare ForwardLightingResources for the Views (including building light grids)

◆ PrepareViewRectsForRendering()

void FSceneRenderer::PrepareViewRectsForRendering ( )

Setups FViewInfo::ViewRect according to ViewFamilly's ScreenPercentageInterface.

◆ PreVisibilityFrameSetup()

void FSceneRenderer::PreVisibilityFrameSetup ( FRDGBuilder GraphBuilder)
protected

Performs once per frame setup prior to visibility determination.

◆ QuantizeViewRectMin()

FIntPoint FSceneRenderer::QuantizeViewRectMin ( const FIntPoint ViewRectMin)
static

Quantize the ViewRect.Min according to various renderer's downscale requirements.

◆ Render()

virtual void FSceneRenderer::Render ( FRDGBuilder GraphBuilder,
const FSceneRenderUpdateInputs SceneUpdateInputs 
)
pure virtual

◆ RenderCapsuleDirectShadows()

bool FSceneRenderer::RenderCapsuleDirectShadows ( FRDGBuilder GraphBuilder,
const FLightSceneInfo LightSceneInfo,
FRDGTextureRef  ScreenShadowMaskTexture,
TArrayView< const FProjectedShadowInfo *const >  CapsuleShadows,
bool  bProjectingForForwardShading 
) const
protected

Renders capsule shadows for all per-object shadows using it for the given light.

◆ RenderCapsuleShadowsForMovableSkylight()

void FSceneRenderer::RenderCapsuleShadowsForMovableSkylight ( FRDGBuilder GraphBuilder,
const FViewInfo View,
FRDGTextureRef BentNormalOutput 
) const

Renders capsule shadows for movable skylights, using the cone of visibility (bent normal) from DFAO.

◆ RenderCustomDepthPass()

bool FSceneRenderer::RenderCustomDepthPass ( FRDGBuilder GraphBuilder,
FCustomDepthTextures CustomDepthTextures,
const FSceneTextureShaderParameters SceneTextures,
TConstArrayView< Nanite::FRasterResults PrimaryNaniteRasterResults,
TConstArrayView< Nanite::FPackedView PrimaryNaniteViews 
)
protected

◆ RenderDistanceFieldAOScreenGrid()

void FSceneRenderer::RenderDistanceFieldAOScreenGrid ( FRDGBuilder GraphBuilder,
const FSceneTextures SceneTextures,
const FViewInfo View,
const FDistanceFieldCulledObjectBufferParameters CulledObjectBufferParameters,
FRDGBufferRef  ObjectTilesIndirectArguments,
const FTileIntersectionParameters TileIntersectionParameters,
const FDistanceFieldAOParameters Parameters,
FRDGTextureRef  DistanceFieldNormal,
FRDGTextureRef OutDynamicBentNormalAO 
)

Render Ambient Occlusion using mesh distance fields on a screen based grid.

◆ RenderDistanceFieldLighting()

void FSceneRenderer::RenderDistanceFieldLighting ( FRDGBuilder GraphBuilder,
const FSceneTextures SceneTextures,
const class FDistanceFieldAOParameters Parameters,
TArray< FRDGTextureRef > &  OutDynamicBentNormalAOTextures,
bool  bModulateToSceneColor,
bool  bVisualizeAmbientOcclusion,
bool  bModulateToScreenSpaceAO = false 
)

Render Ambient Occlusion using mesh distance fields and the surface cache, which supports dynamic rigid meshes.

◆ RenderHitProxies()

virtual void FSceneRenderer::RenderHitProxies ( FRDGBuilder GraphBuilder,
const FSceneRenderUpdateInputs SceneUpdateInputs 
)
inlinevirtual

◆ RenderLightFunctionForVolumetricFog()

void FSceneRenderer::RenderLightFunctionForVolumetricFog ( FRDGBuilder GraphBuilder,
FViewInfo View,
const FSceneTextures SceneTextures,
FIntVector  VolumetricFogGridSize,
float  VolumetricFogMaxDistance,
FLightSceneInfo DirectionalLightSceneInfo,
FMatrix44f OutLightFunctionTranslatedWorldToShadow,
FRDGTexture *&  OutLightFunctionTexture 
)

◆ RenderLocalLightsForVolumetricFog()

void FSceneRenderer::RenderLocalLightsForVolumetricFog ( FRDGBuilder GraphBuilder,
FViewInfo View,
int32  ViewIndex,
bool  bUseTemporalReprojection,
const struct FVolumetricFogIntegrationParameterData IntegrationData,
const FExponentialHeightFogSceneInfo FogInfo,
FIntVector  VolumetricFogGridSize,
FVector  GridZParams,
const FRDGTextureDesc VolumeDesc,
FRDGTextureRef  ConservativeDepthTexture,
TConstArrayView< const FLightSceneInfo * >  LightsToInject,
TConstArrayView< const FLightSceneInfo * >  RayTracedLightsToInject,
FRDGTexture *&  OutLocalShadowedLightScattering 
)

◆ RenderMeshDistanceFieldVisualization()

void FSceneRenderer::RenderMeshDistanceFieldVisualization ( FRDGBuilder GraphBuilder,
const FMinimalSceneTextures SceneTextures 
)
protected

◆ RenderPlanarReflection()

void FSceneRenderer::RenderPlanarReflection ( class FPlanarReflectionSceneProxy ReflectionSceneProxy)
protected

◆ RenderShadowDepthMapAtlases()

void FSceneRenderer::RenderShadowDepthMapAtlases ( FRDGBuilder GraphBuilder)
protected

◆ RenderShadowDepthMaps()

void FSceneRenderer::RenderShadowDepthMaps ( FRDGBuilder GraphBuilder,
FDynamicShadowsTaskData DynamicShadowsTaskData,
FInstanceCullingManager InstanceCullingManager,
FRDGExternalAccessQueue ExternalAccessQueue 
)
protected

◆ RenderShadowProjections() [1/2]

void FSceneRenderer::RenderShadowProjections ( FRDGBuilder GraphBuilder,
const FMinimalSceneTextures SceneTextures,
FRDGTextureRef  ScreenShadowMaskTexture,
FRDGTextureRef  ScreenShadowMaskSubPixelTexture,
const FLightSceneInfo LightSceneInfo,
bool  bProjectingForForwardShading 
)
protected

◆ RenderShadowProjections() [2/2]

void FSceneRenderer::RenderShadowProjections ( FRDGBuilder GraphBuilder,
FRDGTextureRef  OutputTexture,
const FMinimalSceneTextures SceneTextures,
const FLightSceneProxy LightSceneProxy,
TArrayView< const FProjectedShadowInfo *const >  Shadows,
bool  bSubPixelShadow,
bool  bProjectingForForwardShading 
)
protected

◆ RenderSkyAtmosphere()

void FSceneRenderer::RenderSkyAtmosphere ( FRDGBuilder GraphBuilder,
const FMinimalSceneTextures SceneTextures 
)
protected

Render the sky atmosphere over the scene.

◆ RenderSkyAtmosphereEditorNotifications()

void FSceneRenderer::RenderSkyAtmosphereEditorNotifications ( FRDGBuilder GraphBuilder,
TArrayView< FViewInfo InViews,
FRDGTextureRef  SceneColorTexture 
) const
protected

Render notification to artist when a sky material is used but it might comtains the camera (and then the sky/background would look black).

◆ RenderSkyAtmosphereInternal()

void FSceneRenderer::RenderSkyAtmosphereInternal ( FRDGBuilder GraphBuilder,
const FSceneTextureShaderParameters SceneTextures,
FSkyAtmosphereRenderContext SkyRenderContext 
)

Common function to render a sky using shared LUT resources from any view point (if not using the SkyView and AerialPerspective textures).

◆ RenderSkyAtmosphereLookUpTables()

void FSceneRenderer::RenderSkyAtmosphereLookUpTables ( FRDGBuilder GraphBuilder,
class FSkyAtmospherePendingRDGResources PendingRDGResources 
)
protected

Render the sky atmosphere look up table needed for this frame.

◆ RenderVelocities()

void FSceneRenderer::RenderVelocities ( FRDGBuilder GraphBuilder,
TArrayView< FViewInfo InViews,
const FSceneTextures SceneTextures,
EVelocityPass  VelocityPass,
bool  bForceVelocity,
bool  bBindRenderTarget = true 
)
protected

◆ RenderVolumetricCloud()

bool FSceneRenderer::RenderVolumetricCloud ( FRDGBuilder GraphBuilder,
const FMinimalSceneTextures SceneTextures,
bool  bSkipVolumetricRenderTarget,
bool  bSkipPerPixelTracing,
FRDGTextureRef  HalfResolutionDepthCheckerboardMinMaxTexture,
FRDGTextureRef  QuarterResolutionDepthMinMaxTexture,
bool  bAsyncCompute,
FInstanceCullingManager InstanceCullingManager 
)
protected

Render volumetric cloud.

◆ RenderVolumetricCloudsInternal()

void FSceneRenderer::RenderVolumetricCloudsInternal ( FRDGBuilder GraphBuilder,
FCloudRenderContext CloudRC,
FInstanceCullingManager InstanceCullingManager,
const FIntPoint CloudViewportSize 
)

Common function to render a cloud layer using shared LUT resources.

◆ SetStereoViewport()

void FSceneRenderer::SetStereoViewport ( FRHICommandList RHICmdList,
const FViewInfo View,
float  ViewportScale = 1.0f 
)
static

Sets the stereo-compatible RHI viewport. If the view doesn't requires stereo rendering, the standard viewport is set.

◆ SetupInteractionShadows()

void FSceneRenderer::SetupInteractionShadows ( FDynamicShadowsTaskData TaskData,
FLightPrimitiveInteraction Interaction,
FVisibleLightInfo VisibleLightInfo,
bool  bStaticSceneOnly,
const TArray< FProjectedShadowInfo *, SceneRenderingAllocator > &  ViewDependentWholeSceneShadows,
TArray< FProjectedShadowInfo *, SceneRenderingAllocator > &  PreShadows 
)
protected

Creates shadows for the given interaction.

◆ SetupMeshPass()

void FSceneRenderer::SetupMeshPass ( FViewInfo View,
FExclusiveDepthStencil::Type  BasePassDepthStencilAccess,
FViewCommands ViewCommands,
FInstanceCullingManager InstanceCullingManager 
)
protected

◆ SetupSceneReflectionCaptureBuffer()

void FSceneRenderer::SetupSceneReflectionCaptureBuffer ( FRHICommandListImmediate RHICmdList)
protected

◆ SetupVolumetricFog()

void FSceneRenderer::SetupVolumetricFog ( )

◆ ShouldCompositeEditorPrimitives()

bool FSceneRenderer::ShouldCompositeEditorPrimitives ( const FViewInfo View)
static

Whether or not to composite editor objects onto the scene as a post processing step

Parameters
ViewThe view to test against
Returns
true if compositing is needed

◆ ShouldDumpMeshDrawCommandInstancingStats()

bool FSceneRenderer::ShouldDumpMeshDrawCommandInstancingStats ( ) const
inline

◆ ShouldRenderNanite()

virtual bool FSceneRenderer::ShouldRenderNanite ( ) const
inlinevirtual

Reimplemented in FDeferredShadingSceneRenderer.

◆ ShouldRenderPrePass()

virtual bool FSceneRenderer::ShouldRenderPrePass ( ) const
inlinevirtual

◆ ShouldRenderSkyAtmosphereEditorNotifications()

bool FSceneRenderer::ShouldRenderSkyAtmosphereEditorNotifications ( TArrayView< FViewInfo Views)
staticprotected

We should render on screen notification only if any of the scene contains a mesh using a sky material.

◆ ShouldRenderTranslucency() [1/2]

bool FSceneRenderer::ShouldRenderTranslucency ( ) const
protected

Returns whether there are translucent primitives to be rendered.

◆ ShouldRenderTranslucency() [2/2]

bool FSceneRenderer::ShouldRenderTranslucency ( ETranslucencyPass::Type  TranslucencyPass,
TArrayView< FViewInfo InViews 
)
staticprotected

◆ ShouldRenderVelocities()

virtual bool FSceneRenderer::ShouldRenderVelocities ( ) const
inlinevirtual

◆ ShouldRenderVolumetricFog()

bool FSceneRenderer::ShouldRenderVolumetricFog ( ) const

◆ UpdateLightFunctionAtlasTaskFunction()

void FSceneRenderer::UpdateLightFunctionAtlasTaskFunction ( )
protected

Register all lights with the light function atlas and updates it.

◆ UpdatePreshadowCache()

void FSceneRenderer::UpdatePreshadowCache ( )
protected

Updates the preshadow cache, allocating new preshadows that can fit and evicting old ones.

Removes stale shadows and attempts to add new preshadows to the cache.

◆ UpdatePrimitiveIndirectLightingCacheBuffers()

void FSceneRenderer::UpdatePrimitiveIndirectLightingCacheBuffers ( FRHICommandListBase RHICmdList)
protected

◆ VoxelizeFogVolumePrimitives()

void FSceneRenderer::VoxelizeFogVolumePrimitives ( FRDGBuilder GraphBuilder,
const FViewInfo View,
const FVolumetricFogIntegrationParameterData IntegrationData,
FIntVector  VolumetricFogGridSize,
FVector  GridZParams,
float  VolumetricFogDistance,
bool  bVoxelizeEmissive 
)

◆ WaitOcclusionTests()

void FSceneRenderer::WaitOcclusionTests ( FRHICommandListImmediate RHICmdList)

Friends And Related Symbol Documentation

◆ FGatherShadowPrimitivesPrepareTask

◆ FRendererModule

friend class FRendererModule
friend

◆ FSceneRenderProcessor

◆ FVisibilityTaskData

Member Data Documentation

◆ Allocator

FSceneRenderingBulkObjectAllocator FSceneRenderer::Allocator

Linear bulk allocator with a lifetime tied to the scene renderer.

◆ AllViews

TArray<FViewInfo*> FSceneRenderer::AllViews

All views include main camera views and custom render pass views.

◆ bDumpMeshDrawCommandInstancingStats

bool FSceneRenderer::bDumpMeshDrawCommandInstancingStats
protected

◆ bGPUMasksComputed

bool FSceneRenderer::bGPUMasksComputed

◆ bHasRequestedToggleFreeze

bool FSceneRenderer::bHasRequestedToggleFreeze

If a freeze request has been made

◆ bUsedPrecomputedVisibility

bool FSceneRenderer::bUsedPrecomputedVisibility

True if precomputed visibility was used when rendering the scene.

◆ CustomRenderPassInfos

TArray<FCustomRenderPassInfo> FSceneRenderer::CustomRenderPassInfos

◆ DepthPass

FDepthPassInfo FSceneRenderer::DepthPass

Defines which objects we want to render in the EarlyZPass.

◆ DispatchedShadowDepthPasses

TArray<FParallelMeshDrawCommandPass*, SceneRenderingAllocator> FSceneRenderer::DispatchedShadowDepthPasses

◆ DispatchedShadowDepthPassesMutex

UE::FMutex FSceneRenderer::DispatchedShadowDepthPassesMutex

Array of dispatched parallel shadow depth passes.

◆ DynamicReadBufferForInitViews

TGlobalResource< FGlobalDynamicReadBuffer > FSceneRenderer::DynamicReadBufferForInitViews
static

◆ DynamicReadBufferForRayTracing

TGlobalResource< FGlobalDynamicReadBuffer > FSceneRenderer::DynamicReadBufferForRayTracing
static

◆ DynamicReadBufferForShadows

TGlobalResource< FGlobalDynamicReadBuffer > FSceneRenderer::DynamicReadBufferForShadows
static

◆ DynamicResolutionFractions

DynamicRenderScaling::TMap<float> FSceneRenderer::DynamicResolutionFractions

All the dynamic scaling informations

◆ DynamicResolutionUpperBounds

DynamicRenderScaling::TMap<float> FSceneRenderer::DynamicResolutionUpperBounds

◆ FamilySize

FIntPoint FSceneRenderer::FamilySize
protected

Size of the family.

◆ FeatureLevel

ERHIFeatureLevel::Type FSceneRenderer::FeatureLevel

Feature level being rendered

◆ FXSystem

class FFXSystemInterface* FSceneRenderer::FXSystem = nullptr
protected

The cached FXSystem which could be released while we are rendering.

◆ GPUSceneDynamicContext

FGPUSceneDynamicContext FSceneRenderer::GPUSceneDynamicContext
protected

◆ Head

FSceneRenderer* FSceneRenderer::Head = nullptr

◆ LightFunctionAtlas

LightFunctionAtlas::FLightFunctionAtlas FSceneRenderer::LightFunctionAtlas

◆ [struct]

struct { ... } FSceneRenderer::Link

◆ Next

FSceneRenderer* FSceneRenderer::Next = nullptr

◆ OcclusionSubmittedFence

FOcclusionSubmittedFenceState FSceneRenderer::OcclusionSubmittedFence
static

◆ OcclusionTestBoundShaderState

FGlobalBoundShaderState FSceneRenderer::OcclusionTestBoundShaderState
static

bound shader state for occlusion test prims

◆ OnGetOnScreenMessages

FSceneOnScreenMessagesDelegate FSceneRenderer::OnGetOnScreenMessages

◆ RenderTargetGPUMask

FRHIGPUMask FSceneRenderer::RenderTargetGPUMask

◆ ShaderPlatform

EShaderPlatform FSceneRenderer::ShaderPlatform

◆ SortedShadowsForShadowDepthPass

FSortedShadowMaps FSceneRenderer::SortedShadowsForShadowDepthPass

◆ UsedWholeScenePointLightNames

TArray<FString, SceneRenderingAllocator> FSceneRenderer::UsedWholeScenePointLightNames

Lights added if wholescenepointlight shadow would have been rendered (ignoring r.SupportPointLightWholeSceneShadows). Used for warning about unsupported features.

◆ ViewFamily

FViewFamilyInfo FSceneRenderer::ViewFamily

The view family being rendered. This references the Views array.

◆ VirtualShadowMapArray

FVirtualShadowMapArray FSceneRenderer::VirtualShadowMapArray

◆ VisibleLightInfos

TArray<FVisibleLightInfo, SceneRenderingAllocator> FSceneRenderer::VisibleLightInfos

Information about the visible lights.


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