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

Classes

class  FCombineShadingRateTexturesCS
 
class  FDebugVariableRateShadingCS
 
class  FDebugVariableRateShadingPS
 

Namespaces

namespace  VRSHelpers
 

Typedefs

using FDebugVariableRateShadingVS = FScreenPassVS
 

Functions

 DEFINE_LOG_CATEGORY (LogVRS)
 
void CVarEnableVRSCallback (IConsoleVariable *Var)
 
void CVarVRSPreviewCallback (IConsoleVariable *Var)
 
void CVarVRSDebugForceRateCallback (IConsoleVariable *Var)
 
FAutoConsoleVariableRef CVarVRSDebugForceRate (TEXT("r.VRS.DebugForceRate"), GVRSDebugForceRate, TEXT("-1: None, 0: Force 1x1, 1: Force 1x2, 2: Force 2x1, 3: Force 2x2, 4: Force 2x4, 5: Force 4x2, 6: Force 4x4"), FConsoleVariableDelegate::CreateStatic(&CVarVRSDebugForceRateCallback), ECVF_RenderThreadSafe)
 
 IMPLEMENT_GLOBAL_SHADER (FCombineShadingRateTexturesCS, "/Engine/Private/VariableRateShading/VRSShadingRateCombine.usf", "CombineShadingRateTextures", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FDebugVariableRateShadingCS, "/Engine/Private/VariableRateShading/VRSShadingRatePreview.usf", "PreviewVariableRateShadingTextureCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FDebugVariableRateShadingPS, "/Engine/Private/VariableRateShading/VRSShadingRatePreview.usf", "PreviewVariableRateShadingTexturePS", SF_Pixel)
 

Variables

TGlobalResource< FVariableRateShadingImageManagerGVRSImageManager
 
TAutoConsoleVariable< int32CVarSupportVRS (TEXT("r.VRS.Support"), 1, TEXT("0: Off, 1: On"), ECVF_ReadOnly)
 
TAutoConsoleVariable< int32CVarEnableVRS (TEXT("r.VRS.Enable"), 0, TEXT("0: Off, 1: On"), FConsoleVariableDelegate::CreateStatic(&CVarEnableVRSCallback), ECVF_RenderThreadSafe)
 
TAutoConsoleVariable< int32CVarEnableVRSSoftwareImage (TEXT("r.VRS.EnableSoftware"), 0, TEXT("0: Off, 1: On"), ECVF_RenderThreadSafe)
 
TAutoConsoleVariable< int32CVarVRSPreview (TEXT("r.VRS.Preview"), 0, TEXT("0 - off, 1 - full (hardware), 2 - conservative (hardware), 3 - full (software), 4 - conservative (software)"), FConsoleVariableDelegate::CreateStatic(&CVarVRSPreviewCallback), ECVF_RenderThreadSafe)
 
int GVRSDebugForceRate = -1
 
TAutoConsoleVariable< int32CVarVRSBasePass (TEXT("r.VRS.BasePass"), 2, TEXT("2: Conservative (default)"), FConsoleVariableDelegate::CreateStatic(&CVarVRSImagePassTypeCallback), ECVF_RenderThreadSafe)
 
TAutoConsoleVariable< int32CVarVRSTranslucency (TEXT("r.VRS.Translucency"), 1, TEXT("2: Conservative"), FConsoleVariableDelegate::CreateStatic(&CVarVRSImagePassTypeCallback), ECVF_RenderThreadSafe)
 
TAutoConsoleVariable< int32CVarVRSNaniteEmitGBuffer (TEXT("r.VRS.NaniteEmitGBuffer"), 2, TEXT("2: Conservative (default)"), FConsoleVariableDelegate::CreateStatic(&CVarVRSImagePassTypeCallback), ECVF_RenderThreadSafe)
 
TAutoConsoleVariable< int32CVarVRS_SSAO (TEXT("r.VRS.SSAO"), 0, TEXT("2: Conservative (default)"), FConsoleVariableDelegate::CreateStatic(&CVarVRSImagePassTypeCallback), ECVF_RenderThreadSafe)
 
TAutoConsoleVariable< int32CVarVRS_SSR (TEXT("r.VRS.SSR"), 2, TEXT("2: Conservative (default)"), FConsoleVariableDelegate::CreateStatic(&CVarVRSImagePassTypeCallback), ECVF_RenderThreadSafe)
 
TAutoConsoleVariable< int32CVarVRSReflectionEnvironmentSky (TEXT("r.VRS.ReflectionEnvironmentSky"), 2, TEXT("2: Conservative (default)"), FConsoleVariableDelegate::CreateStatic(&CVarVRSImagePassTypeCallback), ECVF_RenderThreadSafe)
 
TAutoConsoleVariable< int32CVarVRSLightFunctions (TEXT("r.VRS.LightFunctions"), 1, TEXT("2: Conservative"), FConsoleVariableDelegate::CreateStatic(&CVarVRSImagePassTypeCallback), ECVF_RenderThreadSafe)
 
TAutoConsoleVariable< int32CVarVRSDecals (TEXT("r.VRS.Decals"), 2, TEXT("2: Conservative (default)"), FConsoleVariableDelegate::CreateStatic(&CVarVRSImagePassTypeCallback), ECVF_RenderThreadSafe)
 
constexpr int32 VRSHelpers::kCombineGroupSize = FComputeShaderUtils::kGolden2DGroupSize
 
constexpr uint32 VRSHelpers::kShadingRateDimensionBits = 2
 

Typedef Documentation

◆ FDebugVariableRateShadingVS

Function Documentation

◆ CVarEnableVRSCallback()

void CVarEnableVRSCallback ( IConsoleVariable Var)

◆ CVarVRSDebugForceRate()

FAutoConsoleVariableRef CVarVRSDebugForceRate ( TEXT("r.VRS.DebugForceRate")  ,
GVRSDebugForceRate  ,
TEXT("-1: None, 0: Force 1x1, 1: Force 1x2, 2: Force 2x1, 3: Force 2x2, 4: Force 2x4, 5: Force 4x2, 6: Force 4x4" ,
FConsoleVariableDelegate::CreateStatic &  CVarVRSDebugForceRateCallback,
ECVF_RenderThreadSafe   
)

◆ CVarVRSDebugForceRateCallback()

void CVarVRSDebugForceRateCallback ( IConsoleVariable Var)

◆ CVarVRSPreviewCallback()

void CVarVRSPreviewCallback ( IConsoleVariable Var)

◆ DEFINE_LOG_CATEGORY()

DEFINE_LOG_CATEGORY ( LogVRS  )

◆ IMPLEMENT_GLOBAL_SHADER() [1/3]

IMPLEMENT_GLOBAL_SHADER ( FCombineShadingRateTexturesCS  ,
"/Engine/Private/VariableRateShading/VRSShadingRateCombine.usf"  ,
"CombineShadingRateTextures"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [2/3]

IMPLEMENT_GLOBAL_SHADER ( FDebugVariableRateShadingCS  ,
"/Engine/Private/VariableRateShading/VRSShadingRatePreview.usf"  ,
"PreviewVariableRateShadingTextureCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [3/3]

IMPLEMENT_GLOBAL_SHADER ( FDebugVariableRateShadingPS  ,
"/Engine/Private/VariableRateShading/VRSShadingRatePreview.usf"  ,
"PreviewVariableRateShadingTexturePS"  ,
SF_Pixel   
)

Variable Documentation

◆ CVarEnableVRS

TAutoConsoleVariable< int32 > CVarEnableVRS(TEXT("r.VRS.Enable"), 0, TEXT("0: Off, 1: On"), FConsoleVariableDelegate::CreateStatic(&CVarEnableVRSCallback), ECVF_RenderThreadSafe) ( TEXT("r.VRS.Enable")  ,
,
TEXT("0: Off, 1: On" ,
FConsoleVariableDelegate::CreateStatic &  CVarEnableVRSCallback,
ECVF_RenderThreadSafe   
)

◆ CVarEnableVRSSoftwareImage

TAutoConsoleVariable< int32 > CVarEnableVRSSoftwareImage(TEXT("r.VRS.EnableSoftware"), 0, TEXT("0: Off, 1: On"), ECVF_RenderThreadSafe) ( TEXT("r.VRS.EnableSoftware")  ,
,
TEXT("0: Off, 1: On" ,
ECVF_RenderThreadSafe   
)

◆ CVarSupportVRS

TAutoConsoleVariable< int32 > CVarSupportVRS(TEXT("r.VRS.Support"), 1, TEXT("0: Off, 1: On"), ECVF_ReadOnly) ( TEXT("r.VRS.Support")  ,
,
TEXT("0: Off, 1: On" ,
ECVF_ReadOnly   
)

Basic CVars

◆ CVarVRS_SSAO

TAutoConsoleVariable< int32 > CVarVRS_SSAO(TEXT("r.VRS.SSAO"), 0, TEXT("2: Conservative (default)"), FConsoleVariableDelegate::CreateStatic(&CVarVRSImagePassTypeCallback), ECVF_RenderThreadSafe) ( TEXT("r.VRS.SSAO")  ,
,
TEXT("2: Conservative (default)")  ,
FConsoleVariableDelegate::CreateStatic &  CVarVRSImagePassTypeCallback,
ECVF_RenderThreadSafe   
)

◆ CVarVRS_SSR

TAutoConsoleVariable< int32 > CVarVRS_SSR(TEXT("r.VRS.SSR"), 2, TEXT("2: Conservative (default)"), FConsoleVariableDelegate::CreateStatic(&CVarVRSImagePassTypeCallback), ECVF_RenderThreadSafe) ( TEXT("r.VRS.SSR")  ,
,
TEXT("2: Conservative (default)")  ,
FConsoleVariableDelegate::CreateStatic &  CVarVRSImagePassTypeCallback,
ECVF_RenderThreadSafe   
)

◆ CVarVRSBasePass

TAutoConsoleVariable< int32 > CVarVRSBasePass(TEXT("r.VRS.BasePass"), 2, TEXT("2: Conservative (default)"), FConsoleVariableDelegate::CreateStatic(&CVarVRSImagePassTypeCallback), ECVF_RenderThreadSafe) ( TEXT("r.VRS.BasePass")  ,
,
TEXT("2: Conservative (default)")  ,
FConsoleVariableDelegate::CreateStatic &  CVarVRSImagePassTypeCallback,
ECVF_RenderThreadSafe   
)

◆ CVarVRSDecals

TAutoConsoleVariable< int32 > CVarVRSDecals(TEXT("r.VRS.Decals"), 2, TEXT("2: Conservative (default)"), FConsoleVariableDelegate::CreateStatic(&CVarVRSImagePassTypeCallback), ECVF_RenderThreadSafe) ( TEXT("r.VRS.Decals")  ,
,
TEXT("2: Conservative (default)")  ,
FConsoleVariableDelegate::CreateStatic &  CVarVRSImagePassTypeCallback,
ECVF_RenderThreadSafe   
)

◆ CVarVRSLightFunctions

TAutoConsoleVariable< int32 > CVarVRSLightFunctions(TEXT("r.VRS.LightFunctions"), 1, TEXT("2: Conservative"), FConsoleVariableDelegate::CreateStatic(&CVarVRSImagePassTypeCallback), ECVF_RenderThreadSafe) ( TEXT("r.VRS.LightFunctions")  ,
,
TEXT("2: Conservative")  ,
FConsoleVariableDelegate::CreateStatic &  CVarVRSImagePassTypeCallback,
ECVF_RenderThreadSafe   
)

◆ CVarVRSNaniteEmitGBuffer

TAutoConsoleVariable< int32 > CVarVRSNaniteEmitGBuffer(TEXT("r.VRS.NaniteEmitGBuffer"), 2, TEXT("2: Conservative (default)"), FConsoleVariableDelegate::CreateStatic(&CVarVRSImagePassTypeCallback), ECVF_RenderThreadSafe) ( TEXT("r.VRS.NaniteEmitGBuffer")  ,
,
TEXT("2: Conservative (default)")  ,
FConsoleVariableDelegate::CreateStatic &  CVarVRSImagePassTypeCallback,
ECVF_RenderThreadSafe   
)

◆ CVarVRSPreview

TAutoConsoleVariable< int32 > CVarVRSPreview(TEXT("r.VRS.Preview"), 0, TEXT("0 - off, 1 - full (hardware), 2 - conservative (hardware), 3 - full (software), 4 - conservative (software)"), FConsoleVariableDelegate::CreateStatic(&CVarVRSPreviewCallback), ECVF_RenderThreadSafe) ( TEXT("r.VRS.Preview")  ,
,
TEXT("0 - off, 1 - full (hardware), 2 - conservative (hardware), 3 - full (software), 4 - conservative (software)")  ,
FConsoleVariableDelegate::CreateStatic &  CVarVRSPreviewCallback,
ECVF_RenderThreadSafe   
)

◆ CVarVRSReflectionEnvironmentSky

TAutoConsoleVariable< int32 > CVarVRSReflectionEnvironmentSky(TEXT("r.VRS.ReflectionEnvironmentSky"), 2, TEXT("2: Conservative (default)"), FConsoleVariableDelegate::CreateStatic(&CVarVRSImagePassTypeCallback), ECVF_RenderThreadSafe) ( TEXT("r.VRS.ReflectionEnvironmentSky")  ,
,
TEXT("2: Conservative (default)")  ,
FConsoleVariableDelegate::CreateStatic &  CVarVRSImagePassTypeCallback,
ECVF_RenderThreadSafe   
)

◆ CVarVRSTranslucency

TAutoConsoleVariable< int32 > CVarVRSTranslucency(TEXT("r.VRS.Translucency"), 1, TEXT("2: Conservative"), FConsoleVariableDelegate::CreateStatic(&CVarVRSImagePassTypeCallback), ECVF_RenderThreadSafe) ( TEXT("r.VRS.Translucency")  ,
,
TEXT("2: Conservative")  ,
FConsoleVariableDelegate::CreateStatic &  CVarVRSImagePassTypeCallback,
ECVF_RenderThreadSafe   
)

◆ GVRSDebugForceRate

int GVRSDebugForceRate = -1

◆ GVRSImageManager