UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
VirtualShadowMapClipmap.cpp File Reference
#include "VirtualShadowMapClipmap.h"
#include "CoreMinimal.h"
#include "HAL/IConsoleManager.h"
#include "LightSceneInfo.h"
#include "LightSceneProxy.h"
#include "RendererModule.h"
#include "ScenePrivate.h"
#include "SceneRendering.h"
#include "VirtualShadowMapArray.h"
#include "VirtualShadowMapCacheManager.h"
#include "VirtualShadowMapDefinitions.h"
#include "CollisionQueryParams.h"
#include "Engine/HitResult.h"
#include "Engine/World.h"

Functions

bool IsVirtualShadowMapDirectionalReceiverMaskEnabled ()
 
int32 PackClipmapLevelAndCount (int32 ClipmapLevel, int32 ClipmapLevelCountRemaining)
 

Variables

TAutoConsoleVariable< int32CVarVirtualShadowMapClipmapFirstCoarseLevel (TEXT("r.Shadow.Virtual.Clipmap.FirstCoarseLevel"), 15, TEXT("First level of the clipmap to mark coarse pages for. Lower values allow higher resolution coarse pages near the camera but increase total page counts."), ECVF_Scalability|ECVF_RenderThreadSafe)
 
TAutoConsoleVariable< int32CVarVirtualShadowMapClipmapLastCoarseLevel (TEXT("r.Shadow.Virtual.Clipmap.LastCoarseLevel"), 18, TEXT("Last level of the clipmap to mark coarse pages for. Higher values provide dense clipmap data for a longer radius but increase total page counts."), ECVF_Scalability|ECVF_RenderThreadSafe)
 
TAutoConsoleVariable< floatCVarVirtualShadowMapClipmapZRangeScale (TEXT("r.Shadow.Virtual.Clipmap.ZRangeScale"), 1000.0f, TEXT("Scale of the clipmap level depth range relative to the radius. Affects z-near/z-far of the shadow map. Should generally be at least 10 or it will result in excessive cache invalidations. Values that are too large cause depth imprecisions and shadow flickering."), ECVF_RenderThreadSafe)
 
TAutoConsoleVariable< int32CVarVirtualShadowMapClipmapMinCameraViewportWidth (TEXT("r.Shadow.Virtual.Clipmap.MinCameraViewportWidth"), 0, TEXT("This can be useful to avoid dynamic resolution indirectly dropping the shadow resolution far too low."), ECVF_RenderThreadSafe)
 
TAutoConsoleVariable< int32CVarMarkCoarsePagesDirectional (TEXT("r.Shadow.Virtual.MarkCoarsePagesDirectional"), 1, TEXT("Ability to disable is primarily for profiling and debugging."), ECVF_Scalability|ECVF_RenderThreadSafe)
 

Function Documentation

◆ IsVirtualShadowMapDirectionalReceiverMaskEnabled()

bool IsVirtualShadowMapDirectionalReceiverMaskEnabled ( )

◆ PackClipmapLevelAndCount()

int32 PackClipmapLevelAndCount ( int32  ClipmapLevel,
int32  ClipmapLevelCountRemaining 
)

Variable Documentation

◆ CVarMarkCoarsePagesDirectional

TAutoConsoleVariable< int32 > CVarMarkCoarsePagesDirectional(TEXT("r.Shadow.Virtual.MarkCoarsePagesDirectional"), 1, TEXT("Ability to disable is primarily for profiling and debugging."), ECVF_Scalability|ECVF_RenderThreadSafe) ( TEXT("r.Shadow.Virtual.MarkCoarsePagesDirectional")  ,
,
TEXT("Ability to disable is primarily for profiling and debugging." ,
ECVF_Scalability ECVF_RenderThreadSafe 
)

◆ CVarVirtualShadowMapClipmapFirstCoarseLevel

TAutoConsoleVariable< int32 > CVarVirtualShadowMapClipmapFirstCoarseLevel(TEXT("r.Shadow.Virtual.Clipmap.FirstCoarseLevel"), 15, TEXT("First level of the clipmap to mark coarse pages for. Lower values allow higher resolution coarse pages near the camera but increase total page counts."), ECVF_Scalability|ECVF_RenderThreadSafe) ( TEXT("r.Shadow.Virtual.Clipmap.FirstCoarseLevel")  ,
15  ,
TEXT("First level of the clipmap to mark coarse pages for. Lower values allow higher resolution coarse pages near the camera but increase total page counts." ,
ECVF_Scalability ECVF_RenderThreadSafe 
)

◆ CVarVirtualShadowMapClipmapLastCoarseLevel

TAutoConsoleVariable< int32 > CVarVirtualShadowMapClipmapLastCoarseLevel(TEXT("r.Shadow.Virtual.Clipmap.LastCoarseLevel"), 18, TEXT("Last level of the clipmap to mark coarse pages for. Higher values provide dense clipmap data for a longer radius but increase total page counts."), ECVF_Scalability|ECVF_RenderThreadSafe) ( TEXT("r.Shadow.Virtual.Clipmap.LastCoarseLevel")  ,
18  ,
TEXT("Last level of the clipmap to mark coarse pages for. Higher values provide dense clipmap data for a longer radius but increase total page counts." ,
ECVF_Scalability ECVF_RenderThreadSafe 
)

◆ CVarVirtualShadowMapClipmapMinCameraViewportWidth

TAutoConsoleVariable< int32 > CVarVirtualShadowMapClipmapMinCameraViewportWidth(TEXT("r.Shadow.Virtual.Clipmap.MinCameraViewportWidth"), 0, TEXT("This can be useful to avoid dynamic resolution indirectly dropping the shadow resolution far too low."), ECVF_RenderThreadSafe) ( TEXT("r.Shadow.Virtual.Clipmap.MinCameraViewportWidth")  ,
,
TEXT("This can be useful to avoid dynamic resolution indirectly dropping the shadow resolution far too low." ,
ECVF_RenderThreadSafe   
)

◆ CVarVirtualShadowMapClipmapZRangeScale

TAutoConsoleVariable< float > CVarVirtualShadowMapClipmapZRangeScale(TEXT("r.Shadow.Virtual.Clipmap.ZRangeScale"), 1000.0f, TEXT("Scale of the clipmap level depth range relative to the radius. Affects z-near/z-far of the shadow map. Should generally be at least 10 or it will result in excessive cache invalidations. Values that are too large cause depth imprecisions and shadow flickering."), ECVF_RenderThreadSafe) ( TEXT("r.Shadow.Virtual.Clipmap.ZRangeScale")  ,
1000.  0f,
TEXT("Scale of the clipmap level depth range relative to the radius. Affects z-near/z-far of the shadow map. Should generally be at least 10 or it will result in excessive cache invalidations. Values that are too large cause depth imprecisions and shadow flickering." ,
ECVF_RenderThreadSafe   
)