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

Classes

class  FMarkRadianceProbesUsedByVisualizeCS
 
class  FClearProbeFreeList
 
class  FClearProbeIndirectionCS
 
class  FUpdateCacheForUsedProbesCS
 
class  FClearRadianceCacheUpdateResourcesCS
 
class  FAllocateUsedProbesCS
 
class  FAllocateProbeTracesCS
 
class  FSelectMaxPriorityBucketCS
 
class  FRadianceCacheUpdateStatsCS
 
class  FSetupProbeIndirectArgsCS
 
class  FComputeProbeWorldOffsetsCS
 
class  FClearProbePDFs
 
class  FScatterScreenProbeBRDFToRadianceProbesCS
 
class  FGenerateProbeTraceTilesCS
 
class  FSetupTraceFromProbesCS
 
class  FSortProbeTraceTilesCS
 
class  FRadianceCacheTraceFromProbesCS
 
class  FFilterProbeRadianceWithGatherCS
 
class  FCalculateProbeIrradianceCS
 
class  FPrepareProbeOcclusionCS
 
class  FFixupBordersAndGenerateMipsCS
 
struct  FClipmapLevelGeometry
 
struct  FClipmapGeometry
 

Namespaces

namespace  LumenRadianceCache
 

Functions

FAutoConsoleVariableRef GVarLumenRadianceCacheFilterMaxRadianceHitAngle (TEXT("r.Lumen.RadianceCache.SpatialFilterMaxRadianceHitAngle"), GLumenRadianceCacheFilterMaxRadianceHitAngle, TEXT("In Degrees. Larger angles allow filtering of nearby features but more leaking."), ECVF_Scalability|ECVF_RenderThreadSafe)
 
FAutoConsoleVariableRef CVarLumenRadianceCacheForceUniformTraceTileLevel (TEXT("r.Lumen.RadianceCache.ForceUniformTraceTileLevel"), GLumenRadianceCacheForceUniformTraceTileLevel, TEXT("When set to >= 0, forces a uniform trace tile level for debugging, and overrides trace tile BRDF importance sampling. Valid range is [0, 2]. 0 = half res, 1 = full res, 2 = supersampled"), ECVF_Scalability|ECVF_RenderThreadSafe)
 
FAutoConsoleVariableRef CVarLumenRadianceCacheSupersampleTileBRDFThreshold (TEXT("r.Lumen.RadianceCache.SupersampleTileBRDFThreshold"), GLumenRadianceCacheSupersampleTileBRDFThreshold, TEXT("Value of the BRDF [0-1] above which to trace more rays to supersample the probe radiance."), ECVF_Scalability|ECVF_RenderThreadSafe)
 
FAutoConsoleVariableRef CVarLumenRadianceCacheDownsampleDistanceFromCamera (TEXT("r.Lumen.RadianceCache.DownsampleDistanceFromCamera"), GLumenRadianceCacheDownsampleDistanceFromCamera, TEXT("Probes further than this distance from the camera are always downsampled."), ECVF_Scalability|ECVF_RenderThreadSafe)
 
FRadianceCacheInputs LumenRadianceCache::GetDefaultRadianceCacheInputs ()
 
void LumenRadianceCache::GetInterpolationParametersNoResources (FRDGBuilder &GraphBuilder, const FRadianceCacheState &RadianceCacheState, const LumenRadianceCache::FRadianceCacheInputs &RadianceCacheInputs, FRadianceCacheInterpolationParameters &OutParameters)
 
void LumenRadianceCache::GetInterpolationParameters (const FViewInfo &View, FRDGBuilder &GraphBuilder, const FRadianceCacheState &RadianceCacheState, const LumenRadianceCache::FRadianceCacheInputs &RadianceCacheInputs, FRadianceCacheInterpolationParameters &OutParameters)
 
FRadianceCacheMarkParameters LumenRadianceCache::GetMarkParameters (FRDGTextureUAVRef RadianceProbeIndirectionTextureUAV, const FRadianceCacheState &RadianceCacheState, const LumenRadianceCache::FRadianceCacheInputs &RadianceCacheInputs)
 
 IMPLEMENT_GLOBAL_SHADER (FMarkRadianceProbesUsedByVisualizeCS, "/Engine/Private/Lumen/LumenRadianceCache.usf", "MarkRadianceProbesUsedByVisualizeCS", SF_Compute)
 
void MarkUsedProbesForVisualize (FRDGBuilder &GraphBuilder, const FViewInfo &View, const LumenRadianceCache::FRadianceCacheMarkParameters &RadianceCacheMarkParameters, ERDGPassFlags ComputePassFlags)
 
 IMPLEMENT_GLOBAL_SHADER (FClearProbeFreeList, "/Engine/Private/Lumen/LumenRadianceCacheUpdate.usf", "ClearProbeFreeListCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FClearProbeIndirectionCS, "/Engine/Private/Lumen/LumenRadianceCache.usf", "ClearProbeIndirectionCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FUpdateCacheForUsedProbesCS, "/Engine/Private/Lumen/LumenRadianceCacheUpdate.usf", "UpdateCacheForUsedProbesCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FClearRadianceCacheUpdateResourcesCS, "/Engine/Private/Lumen/LumenRadianceCacheUpdate.usf", "ClearRadianceCacheUpdateResourcesCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FAllocateUsedProbesCS, "/Engine/Private/Lumen/LumenRadianceCacheUpdate.usf", "AllocateUsedProbesCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FAllocateProbeTracesCS, "/Engine/Private/Lumen/LumenRadianceCacheUpdate.usf", "AllocateProbeTracesCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FSelectMaxPriorityBucketCS, "/Engine/Private/Lumen/LumenRadianceCacheUpdate.usf", "SelectMaxPriorityBucketCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FRadianceCacheUpdateStatsCS, "/Engine/Private/Lumen/LumenRadianceCacheDebug.usf", "RadianceCacheUpdateStatsCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FSetupProbeIndirectArgsCS, "/Engine/Private/Lumen/LumenRadianceCache.usf", "SetupProbeIndirectArgsCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FComputeProbeWorldOffsetsCS, "/Engine/Private/Lumen/LumenRadianceCache.usf", "ComputeProbeWorldOffsetsCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FClearProbePDFs, "/Engine/Private/Lumen/LumenRadianceCache.usf", "ClearProbePDFs", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FScatterScreenProbeBRDFToRadianceProbesCS, "/Engine/Private/Lumen/LumenRadianceCache.usf", "ScatterScreenProbeBRDFToRadianceProbesCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FGenerateProbeTraceTilesCS, "/Engine/Private/Lumen/LumenRadianceCache.usf", "GenerateProbeTraceTilesCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FSetupTraceFromProbesCS, "/Engine/Private/Lumen/LumenRadianceCache.usf", "SetupTraceFromProbesCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FSortProbeTraceTilesCS, "/Engine/Private/Lumen/LumenRadianceCache.usf", "SortProbeTraceTilesCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FRadianceCacheTraceFromProbesCS, "/Engine/Private/Lumen/LumenRadianceCache.usf", "TraceFromProbesCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FFilterProbeRadianceWithGatherCS, "/Engine/Private/Lumen/LumenRadianceCache.usf", "FilterProbeRadianceWithGatherCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FCalculateProbeIrradianceCS, "/Engine/Private/Lumen/LumenRadianceCache.usf", "CalculateProbeIrradianceCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FPrepareProbeOcclusionCS, "/Engine/Private/Lumen/LumenRadianceCache.usf", "PrepareProbeOcclusionCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FFixupBordersAndGenerateMipsCS, "/Engine/Private/Lumen/LumenRadianceCache.usf", "FixupBordersAndGenerateMipsCS", SF_Compute)
 
bool UpdateRadianceCacheState (FRDGBuilder &GraphBuilder, const FViewInfo &View, const LumenRadianceCache::FRadianceCacheInputs &RadianceCacheInputs, FRadianceCacheState &CacheState)
 
bool LumenRadianceCache::ShouldImportanceSampleBRDF (const FUpdateInputs &Inputs)
 
float LumenRadianceCache::GetSupersampleDistanceFromCameraSq ()
 
void LumenRadianceCache::UpdateRadianceCaches (FRDGBuilder &GraphBuilder, const FLumenSceneFrameTemporaries &FrameTemporaries, const TInlineArray< FUpdateInputs > &InputArray, TInlineArray< FUpdateOutputs > &OutputArray, const FScene *Scene, const FViewFamilyInfo &ViewFamily, bool bPropagateGlobalLightingChange, ERDGPassFlags ComputePassFlags)
 

Variables

int32 GRadianceCacheUpdate = 1
 
FAutoConsoleVariableRef CVarRadianceCacheUpdate (TEXT("r.Lumen.RadianceCache.Update"), GRadianceCacheUpdate, TEXT("Whether to update radiance cache every frame. Useful for debugging."), ECVF_RenderThreadSafe)
 
int32 GRadianceCacheForceFullUpdate = 0
 
FAutoConsoleVariableRef CVarRadianceForceFullUpdate (TEXT("r.Lumen.RadianceCache.ForceFullUpdate"), GRadianceCacheForceFullUpdate, TEXT("Whether to update entuire radiance cache once. Useful for debugging."), ECVF_RenderThreadSafe)
 
int32 GRadianceCacheOverrideCacheOcclusionLighting = 0
 
FAutoConsoleVariableRef CVarRadianceCacheShowOnlyRadianceCacheLighting (TEXT("r.Lumen.RadianceCache.OverrideCacheOcclusionLighting"), GRadianceCacheOverrideCacheOcclusionLighting, TEXT(""), ECVF_RenderThreadSafe)
 
int32 GRadianceCacheShowBlackRadianceCacheLighting = 0
 
FAutoConsoleVariableRef CVarRadianceCacheShowBlackRadianceCacheLighting (TEXT("r.Lumen.RadianceCache.ShowBlackRadianceCacheLighting"), GRadianceCacheShowBlackRadianceCacheLighting, TEXT(""), ECVF_RenderThreadSafe)
 
int32 GRadianceCacheFilterProbes = 1
 
FAutoConsoleVariableRef CVarRadianceCacheFilterProbes (TEXT("r.Lumen.RadianceCache.SpatialFilterProbes"), GRadianceCacheFilterProbes, TEXT("Whether to filter probe radiance between neighbors"), ECVF_RenderThreadSafe)
 
int32 GRadianceCacheSortTraceTiles = 0
 
FAutoConsoleVariableRef CVarRadianceCacheSortTraceTiles (TEXT("r.Lumen.RadianceCache.SortTraceTiles"), GRadianceCacheSortTraceTiles, TEXT("Whether to sort Trace Tiles by direction before tracing to extract coherency"), ECVF_RenderThreadSafe)
 
float GLumenRadianceCacheFilterMaxRadianceHitAngle = .2f
 
int32 GLumenRadianceCacheForceUniformTraceTileLevel = -1
 
float GLumenRadianceCacheSupersampleTileBRDFThreshold = .1f
 
float GLumenRadianceCacheDownsampleDistanceFromCamera = 4000.0f
 
constexpr uint32 LumenRadianceCache::PRIORITY_HISTOGRAM_SIZE = 16
 
constexpr uint32 LumenRadianceCache::PROBES_TO_UPDATE_TRACE_COST_STRIDE = 2
 

Function Documentation

◆ CVarLumenRadianceCacheDownsampleDistanceFromCamera()

FAutoConsoleVariableRef CVarLumenRadianceCacheDownsampleDistanceFromCamera ( TEXT("r.Lumen.RadianceCache.DownsampleDistanceFromCamera")  ,
GLumenRadianceCacheDownsampleDistanceFromCamera  ,
TEXT("Probes further than this distance from the camera are always downsampled." ,
ECVF_Scalability ECVF_RenderThreadSafe 
)

◆ CVarLumenRadianceCacheForceUniformTraceTileLevel()

FAutoConsoleVariableRef CVarLumenRadianceCacheForceUniformTraceTileLevel ( TEXT("r.Lumen.RadianceCache.ForceUniformTraceTileLevel")  ,
GLumenRadianceCacheForceUniformTraceTileLevel  ,
TEXT("When set to >= 0, forces a uniform trace tile level for debugging, and overrides trace tile BRDF importance sampling. Valid range is [0, 2]. 0 = half res, 1 = full res, 2 = supersampled" ,
ECVF_Scalability ECVF_RenderThreadSafe 
)

◆ CVarLumenRadianceCacheSupersampleTileBRDFThreshold()

FAutoConsoleVariableRef CVarLumenRadianceCacheSupersampleTileBRDFThreshold ( TEXT("r.Lumen.RadianceCache.SupersampleTileBRDFThreshold")  ,
GLumenRadianceCacheSupersampleTileBRDFThreshold  ,
TEXT("Value of the BRDF [0-1] above which to trace more rays to supersample the probe radiance." ,
ECVF_Scalability ECVF_RenderThreadSafe 
)

◆ GVarLumenRadianceCacheFilterMaxRadianceHitAngle()

FAutoConsoleVariableRef GVarLumenRadianceCacheFilterMaxRadianceHitAngle ( TEXT("r.Lumen.RadianceCache.SpatialFilterMaxRadianceHitAngle")  ,
GLumenRadianceCacheFilterMaxRadianceHitAngle  ,
TEXT("In Degrees. Larger angles allow filtering of nearby features but more leaking." ,
ECVF_Scalability ECVF_RenderThreadSafe 
)

◆ IMPLEMENT_GLOBAL_SHADER() [1/21]

IMPLEMENT_GLOBAL_SHADER ( FAllocateProbeTracesCS  ,
"/Engine/Private/Lumen/LumenRadianceCacheUpdate.usf"  ,
"AllocateProbeTracesCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [2/21]

IMPLEMENT_GLOBAL_SHADER ( FAllocateUsedProbesCS  ,
"/Engine/Private/Lumen/LumenRadianceCacheUpdate.usf"  ,
"AllocateUsedProbesCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [3/21]

IMPLEMENT_GLOBAL_SHADER ( FCalculateProbeIrradianceCS  ,
"/Engine/Private/Lumen/LumenRadianceCache.usf"  ,
"CalculateProbeIrradianceCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [4/21]

IMPLEMENT_GLOBAL_SHADER ( FClearProbeFreeList  ,
"/Engine/Private/Lumen/LumenRadianceCacheUpdate.usf"  ,
"ClearProbeFreeListCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [5/21]

IMPLEMENT_GLOBAL_SHADER ( FClearProbeIndirectionCS  ,
"/Engine/Private/Lumen/LumenRadianceCache.usf"  ,
"ClearProbeIndirectionCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [6/21]

IMPLEMENT_GLOBAL_SHADER ( FClearProbePDFs  ,
"/Engine/Private/Lumen/LumenRadianceCache.usf"  ,
"ClearProbePDFs"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [7/21]

IMPLEMENT_GLOBAL_SHADER ( FClearRadianceCacheUpdateResourcesCS  ,
"/Engine/Private/Lumen/LumenRadianceCacheUpdate.usf"  ,
"ClearRadianceCacheUpdateResourcesCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [8/21]

IMPLEMENT_GLOBAL_SHADER ( FComputeProbeWorldOffsetsCS  ,
"/Engine/Private/Lumen/LumenRadianceCache.usf"  ,
"ComputeProbeWorldOffsetsCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [9/21]

IMPLEMENT_GLOBAL_SHADER ( FFilterProbeRadianceWithGatherCS  ,
"/Engine/Private/Lumen/LumenRadianceCache.usf"  ,
"FilterProbeRadianceWithGatherCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [10/21]

IMPLEMENT_GLOBAL_SHADER ( FFixupBordersAndGenerateMipsCS  ,
"/Engine/Private/Lumen/LumenRadianceCache.usf"  ,
"FixupBordersAndGenerateMipsCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [11/21]

IMPLEMENT_GLOBAL_SHADER ( FGenerateProbeTraceTilesCS  ,
"/Engine/Private/Lumen/LumenRadianceCache.usf"  ,
"GenerateProbeTraceTilesCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [12/21]

IMPLEMENT_GLOBAL_SHADER ( FMarkRadianceProbesUsedByVisualizeCS  ,
"/Engine/Private/Lumen/LumenRadianceCache.usf"  ,
"MarkRadianceProbesUsedByVisualizeCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [13/21]

IMPLEMENT_GLOBAL_SHADER ( FPrepareProbeOcclusionCS  ,
"/Engine/Private/Lumen/LumenRadianceCache.usf"  ,
"PrepareProbeOcclusionCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [14/21]

IMPLEMENT_GLOBAL_SHADER ( FRadianceCacheTraceFromProbesCS  ,
"/Engine/Private/Lumen/LumenRadianceCache.usf"  ,
"TraceFromProbesCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [15/21]

IMPLEMENT_GLOBAL_SHADER ( FRadianceCacheUpdateStatsCS  ,
"/Engine/Private/Lumen/LumenRadianceCacheDebug.usf"  ,
"RadianceCacheUpdateStatsCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [16/21]

IMPLEMENT_GLOBAL_SHADER ( FScatterScreenProbeBRDFToRadianceProbesCS  ,
"/Engine/Private/Lumen/LumenRadianceCache.usf"  ,
"ScatterScreenProbeBRDFToRadianceProbesCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [17/21]

IMPLEMENT_GLOBAL_SHADER ( FSelectMaxPriorityBucketCS  ,
"/Engine/Private/Lumen/LumenRadianceCacheUpdate.usf"  ,
"SelectMaxPriorityBucketCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [18/21]

IMPLEMENT_GLOBAL_SHADER ( FSetupProbeIndirectArgsCS  ,
"/Engine/Private/Lumen/LumenRadianceCache.usf"  ,
"SetupProbeIndirectArgsCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [19/21]

IMPLEMENT_GLOBAL_SHADER ( FSetupTraceFromProbesCS  ,
"/Engine/Private/Lumen/LumenRadianceCache.usf"  ,
"SetupTraceFromProbesCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [20/21]

IMPLEMENT_GLOBAL_SHADER ( FSortProbeTraceTilesCS  ,
"/Engine/Private/Lumen/LumenRadianceCache.usf"  ,
"SortProbeTraceTilesCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [21/21]

IMPLEMENT_GLOBAL_SHADER ( FUpdateCacheForUsedProbesCS  ,
"/Engine/Private/Lumen/LumenRadianceCacheUpdate.usf"  ,
"UpdateCacheForUsedProbesCS"  ,
SF_Compute   
)

◆ MarkUsedProbesForVisualize()

void MarkUsedProbesForVisualize ( FRDGBuilder GraphBuilder,
const FViewInfo View,
const LumenRadianceCache::FRadianceCacheMarkParameters RadianceCacheMarkParameters,
ERDGPassFlags  ComputePassFlags 
)

◆ UpdateRadianceCacheState()

bool UpdateRadianceCacheState ( FRDGBuilder GraphBuilder,
const FViewInfo View,
const LumenRadianceCache::FRadianceCacheInputs RadianceCacheInputs,
FRadianceCacheState CacheState 
)

Variable Documentation

◆ CVarRadianceCacheFilterProbes

FAutoConsoleVariableRef CVarRadianceCacheFilterProbes(TEXT("r.Lumen.RadianceCache.SpatialFilterProbes"), GRadianceCacheFilterProbes, TEXT("Whether to filter probe radiance between neighbors"), ECVF_RenderThreadSafe) ( TEXT("r.Lumen.RadianceCache.SpatialFilterProbes")  ,
GRadianceCacheFilterProbes  ,
TEXT("Whether to filter probe radiance between neighbors" ,
ECVF_RenderThreadSafe   
)

◆ CVarRadianceCacheShowBlackRadianceCacheLighting

FAutoConsoleVariableRef CVarRadianceCacheShowBlackRadianceCacheLighting(TEXT("r.Lumen.RadianceCache.ShowBlackRadianceCacheLighting"), GRadianceCacheShowBlackRadianceCacheLighting, TEXT(""), ECVF_RenderThreadSafe) ( TEXT("r.Lumen.RadianceCache.ShowBlackRadianceCacheLighting")  ,
GRadianceCacheShowBlackRadianceCacheLighting  ,
TEXT("")  ,
ECVF_RenderThreadSafe   
)

◆ CVarRadianceCacheShowOnlyRadianceCacheLighting

FAutoConsoleVariableRef CVarRadianceCacheShowOnlyRadianceCacheLighting(TEXT("r.Lumen.RadianceCache.OverrideCacheOcclusionLighting"), GRadianceCacheOverrideCacheOcclusionLighting, TEXT(""), ECVF_RenderThreadSafe) ( TEXT("r.Lumen.RadianceCache.OverrideCacheOcclusionLighting")  ,
GRadianceCacheOverrideCacheOcclusionLighting  ,
TEXT("")  ,
ECVF_RenderThreadSafe   
)

◆ CVarRadianceCacheSortTraceTiles

FAutoConsoleVariableRef CVarRadianceCacheSortTraceTiles(TEXT("r.Lumen.RadianceCache.SortTraceTiles"), GRadianceCacheSortTraceTiles, TEXT("Whether to sort Trace Tiles by direction before tracing to extract coherency"), ECVF_RenderThreadSafe) ( TEXT("r.Lumen.RadianceCache.SortTraceTiles")  ,
GRadianceCacheSortTraceTiles  ,
TEXT("Whether to sort Trace Tiles by direction before tracing to extract coherency" ,
ECVF_RenderThreadSafe   
)

◆ CVarRadianceCacheUpdate

FAutoConsoleVariableRef CVarRadianceCacheUpdate(TEXT("r.Lumen.RadianceCache.Update"), GRadianceCacheUpdate, TEXT("Whether to update radiance cache every frame. Useful for debugging."), ECVF_RenderThreadSafe) ( TEXT("r.Lumen.RadianceCache.Update")  ,
GRadianceCacheUpdate  ,
TEXT("Whether to update radiance cache every frame. Useful for debugging." ,
ECVF_RenderThreadSafe   
)

◆ CVarRadianceForceFullUpdate

FAutoConsoleVariableRef CVarRadianceForceFullUpdate(TEXT("r.Lumen.RadianceCache.ForceFullUpdate"), GRadianceCacheForceFullUpdate, TEXT("Whether to update entuire radiance cache once. Useful for debugging."), ECVF_RenderThreadSafe) ( TEXT("r.Lumen.RadianceCache.ForceFullUpdate")  ,
GRadianceCacheForceFullUpdate  ,
TEXT("Whether to update entuire radiance cache once. Useful for debugging." ,
ECVF_RenderThreadSafe   
)

◆ GLumenRadianceCacheDownsampleDistanceFromCamera

float GLumenRadianceCacheDownsampleDistanceFromCamera = 4000.0f

◆ GLumenRadianceCacheFilterMaxRadianceHitAngle

float GLumenRadianceCacheFilterMaxRadianceHitAngle = .2f

◆ GLumenRadianceCacheForceUniformTraceTileLevel

int32 GLumenRadianceCacheForceUniformTraceTileLevel = -1

◆ GLumenRadianceCacheSupersampleTileBRDFThreshold

float GLumenRadianceCacheSupersampleTileBRDFThreshold = .1f

◆ GRadianceCacheFilterProbes

int32 GRadianceCacheFilterProbes = 1

◆ GRadianceCacheForceFullUpdate

int32 GRadianceCacheForceFullUpdate = 0

◆ GRadianceCacheOverrideCacheOcclusionLighting

int32 GRadianceCacheOverrideCacheOcclusionLighting = 0

◆ GRadianceCacheShowBlackRadianceCacheLighting

int32 GRadianceCacheShowBlackRadianceCacheLighting = 0

◆ GRadianceCacheSortTraceTiles

int32 GRadianceCacheSortTraceTiles = 0

◆ GRadianceCacheUpdate

int32 GRadianceCacheUpdate = 1