UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ShadowSceneRenderer.cpp File Reference

Classes

struct  FVSMRenderViewInfo
 

Functions

 CSV_DECLARE_CATEGORY_EXTERN (VSM)
 
bool IsVSMOnePassProjectionEnabled (const FEngineShowFlags &ShowFlags)
 
 DECLARE_DWORD_COUNTER_STAT (TEXT("VSM Total Raster Bins"), STAT_VSMNaniteBasePassTotalRasterBins, STATGROUP_ShadowRendering)
 
 DECLARE_DWORD_COUNTER_STAT (TEXT("VSM Visible Raster Bins"), STAT_VSMNaniteBasePassVisibleRasterBins, STATGROUP_ShadowRendering)
 
 DECLARE_DWORD_COUNTER_STAT (TEXT("VSM Total Shading Bins"), STAT_VSMNaniteBasePassTotalShadingBins, STATGROUP_ShadowRendering)
 
 DECLARE_DWORD_COUNTER_STAT (TEXT("VSM Visible Shading Bins"), STAT_VSMNaniteBasePassVisibleShadingBins, STATGROUP_ShadowRendering)
 
 DECLARE_DWORD_COUNTER_STAT (TEXT("Distant Light Count"), STAT_DistantLightCount, STATGROUP_ShadowRendering)
 
 DECLARE_DWORD_COUNTER_STAT (TEXT("Distant Cached Count"), STAT_DistantCachedCount, STATGROUP_ShadowRendering)
 
 DECLARE_DWORD_COUNTER_STAT (TEXT("VSM Light Projections (Directional)"), STAT_VSMDirectionalProjectionFull, STATGROUP_ShadowRendering)
 
 DECLARE_DWORD_COUNTER_STAT (TEXT("VSM Light Projections (Local Full)"), STAT_VSMLocalProjectionFull, STATGROUP_ShadowRendering)
 
 DECLARE_DWORD_COUNTER_STAT (TEXT("VSM Light Projections (Local One Pass Copy)"), STAT_VSMLocalProjectionOnePassCopy, STATGROUP_ShadowRendering)
 

Variables

TAutoConsoleVariable< int32CVarNaniteShadowsUpdateStreaming
 
TAutoConsoleVariable< int32CVarVsmUseFarShadowRules
 
TAutoConsoleVariable< int32CVarVSMMaterialVisibility (TEXT("r.Shadow.Virtual.Nanite.MaterialVisibility"), 0, TEXT("Enable Nanite CPU-side visibility filtering of draw commands, depends on r.Nanite.MaterialVisibility being enabled."), ECVF_RenderThreadSafe)
 
TAutoConsoleVariable< int32CVarMaxDistantLightsPerFrame (TEXT("r.Shadow.Virtual.MaxDistantUpdatePerFrame"), 1, TEXT("Maximum number of distant lights to update each frame. Invalidated lights that were missed may be updated in a later frame (round-robin)."), ECVF_Scalability|ECVF_RenderThreadSafe)
 
TAutoConsoleVariable< int32CVarVirtualShadowOnePassProjection (TEXT("r.Shadow.Virtual.OnePassProjection"), 1, TEXT("Projects all local light virtual shadow maps in a single pass for better performance."), ECVF_Scalability|ECVF_RenderThreadSafe)
 
TAutoConsoleVariable< int32CVarMarkPixelPagesMipModeLocal
 
float GMinScreenRadiusForShadowCaster
 
TAutoConsoleVariable< int32CVarMarkCoarsePagesLocal
 

Function Documentation

◆ CSV_DECLARE_CATEGORY_EXTERN()

CSV_DECLARE_CATEGORY_EXTERN ( VSM  )

◆ DECLARE_DWORD_COUNTER_STAT() [1/9]

DECLARE_DWORD_COUNTER_STAT ( TEXT("Distant Cached Count" ,
STAT_DistantCachedCount  ,
STATGROUP_ShadowRendering   
)

◆ DECLARE_DWORD_COUNTER_STAT() [2/9]

DECLARE_DWORD_COUNTER_STAT ( TEXT("Distant Light Count" ,
STAT_DistantLightCount  ,
STATGROUP_ShadowRendering   
)

◆ DECLARE_DWORD_COUNTER_STAT() [3/9]

DECLARE_DWORD_COUNTER_STAT ( TEXT("VSM Light Projections (Directional)")  ,
STAT_VSMDirectionalProjectionFull  ,
STATGROUP_ShadowRendering   
)

◆ DECLARE_DWORD_COUNTER_STAT() [4/9]

DECLARE_DWORD_COUNTER_STAT ( TEXT("VSM Light Projections (Local Full)")  ,
STAT_VSMLocalProjectionFull  ,
STATGROUP_ShadowRendering   
)

◆ DECLARE_DWORD_COUNTER_STAT() [5/9]

◆ DECLARE_DWORD_COUNTER_STAT() [6/9]

DECLARE_DWORD_COUNTER_STAT ( TEXT("VSM Total Raster Bins" ,
STAT_VSMNaniteBasePassTotalRasterBins  ,
STATGROUP_ShadowRendering   
)

◆ DECLARE_DWORD_COUNTER_STAT() [7/9]

DECLARE_DWORD_COUNTER_STAT ( TEXT("VSM Total Shading Bins" ,
STAT_VSMNaniteBasePassTotalShadingBins  ,
STATGROUP_ShadowRendering   
)

◆ DECLARE_DWORD_COUNTER_STAT() [8/9]

◆ DECLARE_DWORD_COUNTER_STAT() [9/9]

◆ IsVSMOnePassProjectionEnabled()

bool IsVSMOnePassProjectionEnabled ( const FEngineShowFlags ShowFlags)

Variable Documentation

◆ CVarMarkCoarsePagesLocal

TAutoConsoleVariable<int32> CVarMarkCoarsePagesLocal
extern

◆ CVarMarkPixelPagesMipModeLocal

TAutoConsoleVariable<int32> CVarMarkPixelPagesMipModeLocal
extern

◆ CVarMaxDistantLightsPerFrame

TAutoConsoleVariable< int32 > CVarMaxDistantLightsPerFrame(TEXT("r.Shadow.Virtual.MaxDistantUpdatePerFrame"), 1, TEXT("Maximum number of distant lights to update each frame. Invalidated lights that were missed may be updated in a later frame (round-robin)."), ECVF_Scalability|ECVF_RenderThreadSafe) ( TEXT("r.Shadow.Virtual.MaxDistantUpdatePerFrame")  ,
,
TEXT("Maximum number of distant lights to update each frame. Invalidated lights that were missed may be updated in a later frame (round-robin).")  ,
ECVF_Scalability ECVF_RenderThreadSafe 
)

◆ CVarNaniteShadowsUpdateStreaming

TAutoConsoleVariable<int32> CVarNaniteShadowsUpdateStreaming
extern

◆ CVarVirtualShadowOnePassProjection

TAutoConsoleVariable< int32 > CVarVirtualShadowOnePassProjection(TEXT("r.Shadow.Virtual.OnePassProjection"), 1, TEXT("Projects all local light virtual shadow maps in a single pass for better performance."), ECVF_Scalability|ECVF_RenderThreadSafe) ( TEXT("r.Shadow.Virtual.OnePassProjection")  ,
,
TEXT("Projects all local light virtual shadow maps in a single pass for better performance." ,
ECVF_Scalability ECVF_RenderThreadSafe 
)

◆ CVarVSMMaterialVisibility

TAutoConsoleVariable< int32 > CVarVSMMaterialVisibility(TEXT("r.Shadow.Virtual.Nanite.MaterialVisibility"), 0, TEXT("Enable Nanite CPU-side visibility filtering of draw commands, depends on r.Nanite.MaterialVisibility being enabled."), ECVF_RenderThreadSafe) ( TEXT("r.Shadow.Virtual.Nanite.MaterialVisibility")  ,
,
TEXT("Enable Nanite CPU-side visibility filtering of draw commands, depends on r.Nanite.MaterialVisibility being enabled." ,
ECVF_RenderThreadSafe   
)

◆ CVarVsmUseFarShadowRules

TAutoConsoleVariable<int32> CVarVsmUseFarShadowRules
extern

◆ GMinScreenRadiusForShadowCaster

float GMinScreenRadiusForShadowCaster
extern