UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
DeferredShadingRenderer.cpp File Reference
#include "DeferredShadingRenderer.h"
#include "BasePassRendering.h"
#include "VelocityRendering.h"
#include "SingleLayerWaterRendering.h"
#include "SkyAtmosphereRendering.h"
#include "VolumetricCloudRendering.h"
#include "SparseVolumeTexture/SparseVolumeTextureViewerRendering.h"
#include "VolumetricRenderTarget.h"
#include "ScenePrivate.h"
#include "SceneProxies/SkyLightSceneProxy.h"
#include "SceneOcclusion.h"
#include "ScreenRendering.h"
#include "PostProcess/SceneFilterRendering.h"
#include "PostProcess/PostProcessSubsurface.h"
#include "PostProcess/PostProcessVisualizeCalibrationMaterial.h"
#include "PostProcess/TemporalAA.h"
#include "PostProcess/PostProcessEyeAdaptation.h"
#include "CompositionLighting/CompositionLighting.h"
#include "FXSystem.h"
#include "OneColorShader.h"
#include "CompositionLighting/PostProcessDeferredDecals.h"
#include "CompositionLighting/PostProcessAmbientOcclusion.h"
#include "DistanceFieldAmbientOcclusion.h"
#include "GlobalDistanceField.h"
#include "PostProcess/PostProcessing.h"
#include "DistanceFieldAtlas.h"
#include "EngineModule.h"
#include "SceneViewExtension.h"
#include "PipelineStateCache.h"
#include "ClearQuad.h"
#include "RendererModule.h"
#include "VT/VirtualTextureFeedbackResource.h"
#include "VT/VirtualTextureSystem.h"
#include "GPUScene.h"
#include "PathTracing.h"
#include "RayTracing/RayTracing.h"
#include "RayTracing/RayTracingMaterialHitShaders.h"
#include "RayTracing/RayTracingLighting.h"
#include "RayTracing/RayTracingDecals.h"
#include "RayTracing/RayTracingScene.h"
#include "RayTracing/RayTracingInstanceMask.h"
#include "RayTracingDynamicGeometryUpdateManager.h"
#include "RayTracingVisualizationData.h"
#include "SceneTextureParameters.h"
#include "ScreenSpaceDenoise.h"
#include "ScreenSpaceRayTracing.h"
#include "RayTracing/RaytracingOptions.h"
#include "RayTracingDefinitions.h"
#include "RayTracingInstance.h"
#include "ShaderPrint.h"
#include "GPUSortManager.h"
#include "HairStrands/HairStrandsRendering.h"
#include "HairStrands/HairStrandsData.h"
#include "PhysicsField/PhysicsFieldComponent.h"
#include "PhysicsFieldRendering.h"
#include "NaniteVisualizationData.h"
#include "Rendering/NaniteResources.h"
#include "Rendering/NaniteStreamingManager.h"
#include "Rendering/NaniteCoarseMeshStreamingManager.h"
#include "SceneTextureReductions.h"
#include "VirtualShadowMaps/VirtualShadowMapCacheManager.h"
#include "Substrate/Substrate.h"
#include "Lumen/Lumen.h"
#include "Experimental/Containers/SherwoodHashTable.h"
#include "Rendering/RayTracingGeometryManager.h"
#include "InstanceCulling/InstanceCullingManager.h"
#include "InstanceCulling/InstanceCullingOcclusionQuery.h"
#include "ProfilingDebugging/CpuProfilerTrace.h"
#include "Engine/SubsurfaceProfile.h"
#include "Engine/SpecularProfile.h"
#include "SceneCaptureRendering.h"
#include "NaniteSceneProxy.h"
#include "Nanite/NaniteRayTracing.h"
#include "Nanite/NaniteComposition.h"
#include "Nanite/Voxel.h"
#include "Nanite/NaniteShading.h"
#include "RayTracing/RayTracingInstanceCulling.h"
#include "GPUMessaging.h"
#include "RectLightTextureManager.h"
#include "IESTextureManager.h"
#include "Lumen/LumenFrontLayerTranslucency.h"
#include "Lumen/LumenSceneLighting.h"
#include "Lumen/LumenScreenProbeGather.h"
#include "Containers/ChunkedArray.h"
#include "Async/ParallelFor.h"
#include "Shadows/ShadowSceneRenderer.h"
#include "HeterogeneousVolumes/HeterogeneousVolumes.h"
#include "ComponentRecreateRenderStateContext.h"
#include "RenderCore.h"
#include "VariableRateShadingImageManager.h"
#include "LocalFogVolumeRendering.h"
#include "Shadows/ShadowScene.h"
#include "Lumen/LumenHardwareRayTracingCommon.h"
#include "SparseVolumeTexture/ISparseVolumeTextureStreamingManager.h"
#include "WaterInfoTextureRendering.h"
#include "PostProcess/DebugAlphaChannel.h"
#include "MegaLights/MegaLights.h"
#include "Rendering/CustomRenderPass.h"
#include "CustomRenderPassSceneCapture.h"
#include "EnvironmentComponentsFlags.h"
#include "GenerateMips.h"
#include "Froxel/Froxel.h"
#include "ViewData.h"
#include "MaterialCache/MaterialCache.h"
#include "MaterialCache/MaterialCacheRenderer.h"
#include "SceneCulling/SceneCullingRenderer.h"
#include "Shadows/FirstPersonSelfShadow.h"
#include "GPUSkinCache.h"
#include "MaterialCache/MaterialCacheTagProvider.h"
#include "RenderCaptureInterface.h"

Namespaces

namespace  Lumen
 
namespace  Nanite
 
namespace  RayTracingDebug
 

Functions

bool Lumen::AnyLumenHardwareRayTracingPassEnabled ()
 
bool Nanite::IsStatFilterActive (const FString &FilterName)
 
void Nanite::ListStatFilters (FSceneRenderer *SceneRenderer)
 
bool RayTracingDebug::UseInlineHardwareRayTracing (const FSceneViewFamily &ViewFamily)
 
 DECLARE_CYCLE_STAT (TEXT("InitViews Intentional Stall"), STAT_InitViews_Intentional_Stall, STATGROUP_InitViews)
 
 DECLARE_CYCLE_STAT (TEXT("DeferredShadingSceneRenderer UpdateDownsampledDepthSurface"), STAT_FDeferredShadingSceneRenderer_UpdateDownsampledDepthSurface, STATGROUP_SceneRendering)
 
 DECLARE_CYCLE_STAT (TEXT("DeferredShadingSceneRenderer Render Init"), STAT_FDeferredShadingSceneRenderer_Render_Init, STATGROUP_SceneRendering)
 
 DECLARE_CYCLE_STAT (TEXT("DeferredShadingSceneRenderer FXSystem PreRender"), STAT_FDeferredShadingSceneRenderer_FXSystem_PreRender, STATGROUP_SceneRendering)
 
 DECLARE_CYCLE_STAT (TEXT("DeferredShadingSceneRenderer AllocGBufferTargets"), STAT_FDeferredShadingSceneRenderer_AllocGBufferTargets, STATGROUP_SceneRendering)
 
 DECLARE_CYCLE_STAT (TEXT("DeferredShadingSceneRenderer PrepareForwardLightData"), STAT_FDeferredShadingSceneRenderer_PrepareForwardLightData, STATGROUP_SceneRendering)
 
 DECLARE_CYCLE_STAT (TEXT("DeferredShadingSceneRenderer DBuffer"), STAT_FDeferredShadingSceneRenderer_DBuffer, STATGROUP_SceneRendering)
 
 DECLARE_CYCLE_STAT (TEXT("DeferredShadingSceneRenderer ResolveDepth After Basepass"), STAT_FDeferredShadingSceneRenderer_ResolveDepth_After_Basepass, STATGROUP_SceneRendering)
 
 DECLARE_CYCLE_STAT (TEXT("DeferredShadingSceneRenderer Resolve After Basepass"), STAT_FDeferredShadingSceneRenderer_Resolve_After_Basepass, STATGROUP_SceneRendering)
 
 DECLARE_CYCLE_STAT (TEXT("DeferredShadingSceneRenderer FXSystem PostRenderOpaque"), STAT_FDeferredShadingSceneRenderer_FXSystem_PostRenderOpaque, STATGROUP_SceneRendering)
 
 DECLARE_CYCLE_STAT (TEXT("DeferredShadingSceneRenderer AfterBasePass"), STAT_FDeferredShadingSceneRenderer_AfterBasePass, STATGROUP_SceneRendering)
 
 DECLARE_CYCLE_STAT (TEXT("DeferredShadingSceneRenderer Lighting"), STAT_FDeferredShadingSceneRenderer_Lighting, STATGROUP_SceneRendering)
 
 DECLARE_CYCLE_STAT (TEXT("DeferredShadingSceneRenderer RenderLightShaftOcclusion"), STAT_FDeferredShadingSceneRenderer_RenderLightShaftOcclusion, STATGROUP_SceneRendering)
 
 DECLARE_CYCLE_STAT (TEXT("DeferredShadingSceneRenderer RenderAtmosphere"), STAT_FDeferredShadingSceneRenderer_RenderAtmosphere, STATGROUP_SceneRendering)
 
 DECLARE_CYCLE_STAT (TEXT("DeferredShadingSceneRenderer RenderSkyAtmosphere"), STAT_FDeferredShadingSceneRenderer_RenderSkyAtmosphere, STATGROUP_SceneRendering)
 
 DECLARE_CYCLE_STAT (TEXT("DeferredShadingSceneRenderer RenderFog"), STAT_FDeferredShadingSceneRenderer_RenderFog, STATGROUP_SceneRendering)
 
 DECLARE_CYCLE_STAT (TEXT("DeferredShadingSceneRenderer RenderLocalFogVolume"), STAT_FDeferredShadingSceneRenderer_RenderLocalFogVolume, STATGROUP_SceneRendering)
 
 DECLARE_CYCLE_STAT (TEXT("DeferredShadingSceneRenderer RenderLightShaftBloom"), STAT_FDeferredShadingSceneRenderer_RenderLightShaftBloom, STATGROUP_SceneRendering)
 
 DECLARE_CYCLE_STAT (TEXT("DeferredShadingSceneRenderer RenderFinish"), STAT_FDeferredShadingSceneRenderer_RenderFinish, STATGROUP_SceneRendering)
 
 DECLARE_GPU_STAT (RayTracingScene)
 
 DECLARE_GPU_STAT (RayTracingGeometry)
 
 DEFINE_GPU_STAT (Postprocessing)
 
 DECLARE_GPU_STAT (VisibilityCommands)
 
 DECLARE_GPU_STAT (RenderDeferredLighting)
 
 DECLARE_GPU_STAT (AllocateRendertargets)
 
 DECLARE_GPU_STAT (FrameRenderFinish)
 
 DECLARE_GPU_STAT (PostRenderOpsFX)
 
 DECLARE_GPU_STAT_NAMED (Unaccounted, TEXT("[unaccounted]"))
 
 DECLARE_GPU_STAT (WaterRendering)
 
 DECLARE_GPU_STAT (HairRendering)
 
 DECLARE_GPU_STAT (UploadDynamicBuffers)
 
 DECLARE_GPU_STAT (PostOpaqueExtensions)
 
 DEFINE_GPU_STAT (CustomRenderPasses)
 
 DECLARE_GPU_STAT (Substrate)
 
 DECLARE_GPU_STAT_NAMED (NaniteVisBuffer, TEXT("Nanite VisBuffer"))
 
 DECLARE_GPU_STAT_NAMED (NanitePrimeHZB, TEXT("Nanite PrimeHZB"))
 
 DECLARE_DWORD_COUNTER_STAT (TEXT("BasePass Total Raster Bins"), STAT_NaniteBasePassTotalRasterBins, STATGROUP_Nanite)
 
 DECLARE_DWORD_COUNTER_STAT (TEXT("BasePass Visible Raster Bins"), STAT_NaniteBasePassVisibleRasterBins, STATGROUP_Nanite)
 
 DECLARE_DWORD_COUNTER_STAT (TEXT("BasePass Total Shading Bins"), STAT_NaniteBasePassTotalShadingBins, STATGROUP_Nanite)
 
 DECLARE_DWORD_COUNTER_STAT (TEXT("BasePass Visible Shading Bins"), STAT_NaniteBasePassVisibleShadingBins, STATGROUP_Nanite)
 
 CSV_DEFINE_CATEGORY (LightCount, true)
 
const TCHARGetDepthPassReason (bool bDitheredLODTransitionsUseStencil, EShaderPlatform ShaderPlatform)
 (UE_BUILD_SHIPPING || UE_BUILD_TEST)
 
 DECLARE_CYCLE_STAT (TEXT("Wait RayTracing Dynamic Bindings"), STAT_WaitRayTracingDynamicBindings, STATGROUP_SceneRendering)
 
 DECLARE_CYCLE_STAT (TEXT("Wait Ray Tracing Scene Initialization"), STAT_WaitRayTracingSceneInitTask, STATGROUP_SceneRendering)
 
 DECLARE_CYCLE_STAT (TEXT("Wait Ray Tracing Visible Shader Bindings Finalize"), STAT_WaitRayTracingVisibleShaderBindingsFinalizeTask, STATGROUP_SceneRendering)
 
 DECLARE_CYCLE_STAT (TEXT("Wait Gather And Sort Lights"), STAT_WaitGatherAndSortLightsTask, STATGROUP_SceneRendering)
 

Variables

int32 GNaniteShowStats
 
int32 GNanitePickingDomain
 
DynamicRenderScaling::FBudget GDynamicNaniteScalingPrimary
 
int32 GbEnableAsyncComputeTranslucencyLightingVolumeClear = 0
 
int32 GRayTracingUseTextureLod = 0
 

Function Documentation

◆ CSV_DEFINE_CATEGORY()

CSV_DEFINE_CATEGORY ( LightCount  ,
true   
)

◆ DECLARE_CYCLE_STAT() [1/23]

DECLARE_CYCLE_STAT ( TEXT("DeferredShadingSceneRenderer AfterBasePass" ,
STAT_FDeferredShadingSceneRenderer_AfterBasePass  ,
STATGROUP_SceneRendering   
)

◆ DECLARE_CYCLE_STAT() [2/23]

DECLARE_CYCLE_STAT ( TEXT("DeferredShadingSceneRenderer AllocGBufferTargets" ,
STAT_FDeferredShadingSceneRenderer_AllocGBufferTargets  ,
STATGROUP_SceneRendering   
)

◆ DECLARE_CYCLE_STAT() [3/23]

DECLARE_CYCLE_STAT ( TEXT("DeferredShadingSceneRenderer DBuffer" ,
STAT_FDeferredShadingSceneRenderer_DBuffer  ,
STATGROUP_SceneRendering   
)

◆ DECLARE_CYCLE_STAT() [4/23]

DECLARE_CYCLE_STAT ( TEXT("DeferredShadingSceneRenderer FXSystem PostRenderOpaque" ,
STAT_FDeferredShadingSceneRenderer_FXSystem_PostRenderOpaque  ,
STATGROUP_SceneRendering   
)

◆ DECLARE_CYCLE_STAT() [5/23]

DECLARE_CYCLE_STAT ( TEXT("DeferredShadingSceneRenderer FXSystem PreRender" ,
STAT_FDeferredShadingSceneRenderer_FXSystem_PreRender  ,
STATGROUP_SceneRendering   
)

◆ DECLARE_CYCLE_STAT() [6/23]

DECLARE_CYCLE_STAT ( TEXT("DeferredShadingSceneRenderer Lighting" ,
STAT_FDeferredShadingSceneRenderer_Lighting  ,
STATGROUP_SceneRendering   
)

◆ DECLARE_CYCLE_STAT() [7/23]

◆ DECLARE_CYCLE_STAT() [8/23]

DECLARE_CYCLE_STAT ( TEXT("DeferredShadingSceneRenderer Render Init" ,
STAT_FDeferredShadingSceneRenderer_Render_Init  ,
STATGROUP_SceneRendering   
)

◆ DECLARE_CYCLE_STAT() [9/23]

DECLARE_CYCLE_STAT ( TEXT("DeferredShadingSceneRenderer RenderAtmosphere" ,
STAT_FDeferredShadingSceneRenderer_RenderAtmosphere  ,
STATGROUP_SceneRendering   
)

◆ DECLARE_CYCLE_STAT() [10/23]

DECLARE_CYCLE_STAT ( TEXT("DeferredShadingSceneRenderer RenderFinish" ,
STAT_FDeferredShadingSceneRenderer_RenderFinish  ,
STATGROUP_SceneRendering   
)

◆ DECLARE_CYCLE_STAT() [11/23]

DECLARE_CYCLE_STAT ( TEXT("DeferredShadingSceneRenderer RenderFog" ,
STAT_FDeferredShadingSceneRenderer_RenderFog  ,
STATGROUP_SceneRendering   
)

◆ DECLARE_CYCLE_STAT() [12/23]

DECLARE_CYCLE_STAT ( TEXT("DeferredShadingSceneRenderer RenderLightShaftBloom" ,
STAT_FDeferredShadingSceneRenderer_RenderLightShaftBloom  ,
STATGROUP_SceneRendering   
)

◆ DECLARE_CYCLE_STAT() [13/23]

◆ DECLARE_CYCLE_STAT() [14/23]

DECLARE_CYCLE_STAT ( TEXT("DeferredShadingSceneRenderer RenderLocalFogVolume" ,
STAT_FDeferredShadingSceneRenderer_RenderLocalFogVolume  ,
STATGROUP_SceneRendering   
)

◆ DECLARE_CYCLE_STAT() [15/23]

DECLARE_CYCLE_STAT ( TEXT("DeferredShadingSceneRenderer RenderSkyAtmosphere" ,
STAT_FDeferredShadingSceneRenderer_RenderSkyAtmosphere  ,
STATGROUP_SceneRendering   
)

◆ DECLARE_CYCLE_STAT() [16/23]

DECLARE_CYCLE_STAT ( TEXT("DeferredShadingSceneRenderer Resolve After Basepass" ,
STAT_FDeferredShadingSceneRenderer_Resolve_After_Basepass  ,
STATGROUP_SceneRendering   
)

◆ DECLARE_CYCLE_STAT() [17/23]

◆ DECLARE_CYCLE_STAT() [18/23]

◆ DECLARE_CYCLE_STAT() [19/23]

DECLARE_CYCLE_STAT ( TEXT("InitViews Intentional Stall" ,
STAT_InitViews_Intentional_Stall  ,
STATGROUP_InitViews   
)

◆ DECLARE_CYCLE_STAT() [20/23]

◆ DECLARE_CYCLE_STAT() [21/23]

◆ DECLARE_CYCLE_STAT() [22/23]

◆ DECLARE_CYCLE_STAT() [23/23]

DECLARE_CYCLE_STAT ( TEXT("Wait RayTracing Dynamic Bindings" ,
STAT_WaitRayTracingDynamicBindings  ,
STATGROUP_SceneRendering   
)

Renders the view family.

◆ DECLARE_DWORD_COUNTER_STAT() [1/4]

DECLARE_DWORD_COUNTER_STAT ( TEXT("BasePass Total Raster Bins" ,
STAT_NaniteBasePassTotalRasterBins  ,
STATGROUP_Nanite   
)

◆ DECLARE_DWORD_COUNTER_STAT() [2/4]

DECLARE_DWORD_COUNTER_STAT ( TEXT("BasePass Total Shading Bins" ,
STAT_NaniteBasePassTotalShadingBins  ,
STATGROUP_Nanite   
)

◆ DECLARE_DWORD_COUNTER_STAT() [3/4]

DECLARE_DWORD_COUNTER_STAT ( TEXT("BasePass Visible Raster Bins" ,
STAT_NaniteBasePassVisibleRasterBins  ,
STATGROUP_Nanite   
)

◆ DECLARE_DWORD_COUNTER_STAT() [4/4]

DECLARE_DWORD_COUNTER_STAT ( TEXT("BasePass Visible Shading Bins" ,
STAT_NaniteBasePassVisibleShadingBins  ,
STATGROUP_Nanite   
)

◆ DECLARE_GPU_STAT() [1/12]

DECLARE_GPU_STAT ( AllocateRendertargets  )

◆ DECLARE_GPU_STAT() [2/12]

DECLARE_GPU_STAT ( FrameRenderFinish  )

◆ DECLARE_GPU_STAT() [3/12]

DECLARE_GPU_STAT ( HairRendering  )

◆ DECLARE_GPU_STAT() [4/12]

DECLARE_GPU_STAT ( PostOpaqueExtensions  )

◆ DECLARE_GPU_STAT() [5/12]

DECLARE_GPU_STAT ( PostRenderOpsFX  )

◆ DECLARE_GPU_STAT() [6/12]

DECLARE_GPU_STAT ( RayTracingGeometry  )

◆ DECLARE_GPU_STAT() [7/12]

DECLARE_GPU_STAT ( RayTracingScene  )

◆ DECLARE_GPU_STAT() [8/12]

DECLARE_GPU_STAT ( RenderDeferredLighting  )

◆ DECLARE_GPU_STAT() [9/12]

DECLARE_GPU_STAT ( Substrate  )

◆ DECLARE_GPU_STAT() [10/12]

DECLARE_GPU_STAT ( UploadDynamicBuffers  )

◆ DECLARE_GPU_STAT() [11/12]

DECLARE_GPU_STAT ( VisibilityCommands  )

◆ DECLARE_GPU_STAT() [12/12]

DECLARE_GPU_STAT ( WaterRendering  )

◆ DECLARE_GPU_STAT_NAMED() [1/3]

DECLARE_GPU_STAT_NAMED ( NanitePrimeHZB  ,
TEXT("Nanite PrimeHZB"  
)

◆ DECLARE_GPU_STAT_NAMED() [2/3]

DECLARE_GPU_STAT_NAMED ( NaniteVisBuffer  ,
TEXT("Nanite VisBuffer"  
)

◆ DECLARE_GPU_STAT_NAMED() [3/3]

DECLARE_GPU_STAT_NAMED ( Unaccounted  ,
TEXT("[unaccounted]")   
)

◆ DEFINE_GPU_STAT() [1/2]

DEFINE_GPU_STAT ( CustomRenderPasses  )

◆ DEFINE_GPU_STAT() [2/2]

DEFINE_GPU_STAT ( Postprocessing  )

◆ GetDepthPassReason()

const TCHAR * GetDepthPassReason ( bool  bDitheredLODTransitionsUseStencil,
EShaderPlatform  ShaderPlatform 
)

(UE_BUILD_SHIPPING || UE_BUILD_TEST)

Variable Documentation

◆ GbEnableAsyncComputeTranslucencyLightingVolumeClear

int32 GbEnableAsyncComputeTranslucencyLightingVolumeClear = 0

◆ GDynamicNaniteScalingPrimary

DynamicRenderScaling::FBudget GDynamicNaniteScalingPrimary
extern

◆ GNanitePickingDomain

int32 GNanitePickingDomain
extern

◆ GNaniteShowStats

int32 GNaniteShowStats
extern

◆ GRayTracingUseTextureLod

int32 GRayTracingUseTextureLod = 0