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

Classes

class  FReflectionClearTracesCS
 
class  FReflectionTraceScreenTexturesCS
 
class  FSetupCompactionIndirectArgsCS
 
class  FReflectionCompactTracesCS
 
class  FReflectionSortTracesByMaterialCS
 
class  FSetupReflectionCompactedTracesIndirectArgsCS
 
class  FReflectionTraceMeshSDFsCS
 
class  FReflectionTraceVoxelsCS
 
class  FVisualizeReflectionTracesCS
 

Enumerations

enum class  ECompactedReflectionTracingIndirectArgs { NumTracesDiv64 = 0 * sizeof(FRHIDispatchIndirectParameters) , NumTracesDiv32 = 1 * sizeof(FRHIDispatchIndirectParameters) , NumTracesDiv256 = 2 * sizeof(FRHIDispatchIndirectParameters) , MAX = 3 }
 

Functions

FAutoConsoleVariableRef CVarLumenReflectionScreenTraces (TEXT("r.Lumen.Reflections.ScreenTraces"), GLumenReflectionScreenTraces, TEXT("Whether to trace against the screen for reflections before falling back to other methods."), ECVF_Scalability|ECVF_RenderThreadSafe)
 
FAutoConsoleVariableRef CVarLumenReflectionHierarchicalScreenTracesMaxIterations (TEXT("r.Lumen.Reflections.HierarchicalScreenTraces.MaxIterations"), GLumenReflectionHierarchicalScreenTracesMaxIterations, TEXT("Max iterations for HZB tracing."), ECVF_Scalability|ECVF_RenderThreadSafe)
 
FAutoConsoleVariableRef CVarLumenReflectionHierarchicalScreenTracesMinimumOccupancy (TEXT("r.Lumen.Reflections.HierarchicalScreenTraces.MinimumOccupancy"), GLumenReflectionScreenTracesMinimumOccupancy, TEXT("Minimum number of threads still tracing before aborting the trace. Can be used for scalability to abandon traces that have a disproportionate cost."), ECVF_Scalability|ECVF_RenderThreadSafe)
 
FAutoConsoleVariableRef GVarLumenReflectionHierarchicalScreenTraceRelativeDepthThreshold (TEXT("r.Lumen.Reflections.HierarchicalScreenTraces.RelativeDepthThickness"), GLumenReflectionHierarchicalScreenTraceRelativeDepthThreshold, TEXT("Determines depth thickness of objects hit by HZB tracing, as a relative depth threshold."), ECVF_Scalability|ECVF_RenderThreadSafe)
 
FAutoConsoleVariableRef GVarLumenReflectionHierarchicalScreenTraceHistoryDepthTestRelativeThickness (TEXT("r.Lumen.Reflections.HierarchicalScreenTraces.HistoryDepthTestRelativeThickness"), GLumenReflectionHierarchicalScreenTraceHistoryDepthTestRelativeThickness, TEXT("Distance between HZB trace hit and previous frame scene depth from which to allow hits, as a relative depth threshold."), ECVF_Scalability|ECVF_RenderThreadSafe)
 
FAutoConsoleVariableRef GVarLumenReflectionHairStrands_VoxelTrace (TEXT("r.Lumen.Reflections.HairStrands.VoxelTrace"), GLumenReflectionHairStrands_VoxelTrace, TEXT("Whether to trace against hair voxel structure for hair casting shadow onto opaques."), ECVF_Scalability|ECVF_RenderThreadSafe)
 
FAutoConsoleVariableRef GVarLumenReflectionHairStrands_ScreenTrace (TEXT("r.Lumen.Reflections.HairStrands.ScreenTrace"), GLumenReflectionHairStrands_ScreenTrace, TEXT("Whether to trace against hair depth for hair casting shadow onto opaques."), ECVF_Scalability|ECVF_RenderThreadSafe)
 
FAutoConsoleVariableRef GVarLumenReflectionTraceCompactionGroupSizeInTiles (TEXT("r.Lumen.Reflections.TraceCompaction.GroupSizeInTraceTiles"), GLumenReflectionTraceCompactionGroupSizeInTiles, TEXT("Size of the trace compaction threadgroup. Larger group = better coherency in the compacted traces. Currently only supported by WaveOps path."), ECVF_Scalability|ECVF_RenderThreadSafe)
 
FAutoConsoleVariableRef CVarLumenReflectionTraceCompactionWaveOps (TEXT("r.Lumen.Reflections.TraceCompaction.WaveOps"), GLumenReflectionTraceCompactionWaveOps, TEXT("Whether to use Wave Ops path for trace compaction."), ECVF_Scalability|ECVF_RenderThreadSafe)
 
FAutoConsoleVariableRef CVarLumenReflectionsSampleSceneColorAtHit (TEXT("r.Lumen.Reflections.SampleSceneColorAtHit"), GLumenReflectionsSampleSceneColorAtHit, TEXT("Whether to sample SceneColor on reflection ray hits (both SWRT and HWRT). Useful for hiding areas where Screen Traces gave up when they went behind a foreground object. 0 - Disable. 1 - Enable only when screen space traces are enabled. 2 - Always enable."), ECVF_Scalability|ECVF_RenderThreadSafe)
 
FAutoConsoleVariableRef CVarLumenReflectionsDistantScreenTraces (TEXT("r.Lumen.Reflections.DistantScreenTraces"), GLumenReflectionsDistantScreenTraces, TEXT("2 - Enable"), ECVF_Scalability|ECVF_RenderThreadSafe)
 
FAutoConsoleVariableRef GVarLumenReflectionDistantScreenTraceDepthThreshold (TEXT("r.Lumen.Reflections.DistantScreenTraces.DepthThreshold"), GLumenReflectionDistantScreenTraceSlopeCompareTolerance, TEXT("Depth threshold for the linear screen traces done where other traces have missed."), ECVF_Scalability|ECVF_RenderThreadSafe)
 
FAutoConsoleVariableRef GVarLumenReflectionDistantScreenTraceMaxTraceDistance (TEXT("r.Lumen.Reflections.DistantScreenTraces.MaxTraceDistance"), GLumenReflectionDistantScreenTraceMaxTraceDistance, TEXT("Trace distance of distant screen traces."), ECVF_Scalability|ECVF_RenderThreadSafe)
 
TAutoConsoleVariable< floatCVarLumenReflectionDistantScreenTraceStepOffsetBias (TEXT("r.Lumen.Reflections.DistantScreenTraces.StepOffsetBias"), 0.f, TEXT("A bias added to the ray step offset to shift the center of jittering."), ECVF_Scalability|ECVF_RenderThreadSafe)
 
 IMPLEMENT_GLOBAL_SHADER (FReflectionClearTracesCS, "/Engine/Private/Lumen/LumenReflectionTracing.usf", "ReflectionClearTracesCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FReflectionTraceScreenTexturesCS, "/Engine/Private/Lumen/LumenReflectionTracing.usf", "ReflectionTraceScreenTexturesCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FSetupCompactionIndirectArgsCS, "/Engine/Private/Lumen/LumenReflectionTracing.usf", "SetupCompactionIndirectArgsCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FReflectionCompactTracesCS, "/Engine/Private/Lumen/LumenReflectionTracing.usf", "ReflectionCompactTracesCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FReflectionSortTracesByMaterialCS, "/Engine/Private/Lumen/LumenReflectionTracing.usf", "ReflectionSortTracesByMaterialCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FSetupReflectionCompactedTracesIndirectArgsCS, "/Engine/Private/Lumen/LumenReflectionTracing.usf", "SetupCompactedTracesIndirectArgsCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FReflectionTraceMeshSDFsCS, "/Engine/Private/Lumen/LumenReflectionTracing.usf", "ReflectionTraceMeshSDFsCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FReflectionTraceVoxelsCS, "/Engine/Private/Lumen/LumenReflectionTracing.usf", "ReflectionTraceVoxelsCS", SF_Compute)
 
 IMPLEMENT_GLOBAL_SHADER (FVisualizeReflectionTracesCS, "/Engine/Private/Lumen/LumenReflectionTracing.usf", "VisualizeReflectionTracesCS", SF_Compute)
 
void SetupIndirectTracingParametersForReflections (const FViewInfo &View, FLumenIndirectTracingParameters &OutParameters)
 
FLumenHZBScreenTraceParameters SetupHZBScreenTraceParameters (FRDGBuilder &GraphBuilder, const FViewInfo &View, const FSceneTextures &SceneTextures)
 
void TraceReflections (FRDGBuilder &GraphBuilder, const FScene *Scene, const FViewInfo &View, const FLumenSceneFrameTemporaries &FrameTemporaries, bool bTraceMeshObjects, const FSceneTextures &SceneTextures, const FLumenReflectionTracingParameters &ReflectionTracingParameters, const FLumenReflectionTileParameters &ReflectionTileParameters, const FLumenMeshSDFGridParameters &InMeshSDFGridParameters, bool bUseRadianceCache, EDiffuseIndirectMethod DiffuseIndirectMethod, const LumenRadianceCache::FRadianceCacheInterpolationParameters &RadianceCacheParameters, const FBoxSphereBounds &FirstPersonWorldSpaceRepresentationViewBounds, ERDGPassFlags ComputePassFlags)
 
void TraceTranslucency (FRDGBuilder &GraphBuilder, const FScene *Scene, const FViewInfo &View, const FLumenSceneFrameTemporaries &FrameTemporaries, const FSceneTextures &SceneTextures, const FLumenReflectionTracingParameters &ReflectionTracingParameters, const FLumenReflectionTileParameters &ReflectionTileParameters, EDiffuseIndirectMethod DiffuseIndirectMethod, ERDGPassFlags ComputePassFlags, bool bUseRayTracedRefraction)
 

Variables

int32 GLumenReflectionScreenTraces = 1
 
int32 GLumenScreenTracingSource = 0
 
FAutoConsoleVariableRef CVarLumenScreenTracingSource (TEXT("r.Lumen.ScreenTracingSource"), GLumenScreenTracingSource, TEXT("1: Anti-aliased Scene Color (translucency intersected with the opaque depths, less noise from small emissive elements)"), ECVF_RenderThreadSafe)
 
int32 GLumenReflectionHierarchicalScreenTracesMaxIterations = 50
 
int32 GLumenReflectionScreenTracesMinimumOccupancy = 0
 
float GLumenReflectionHierarchicalScreenTraceRelativeDepthThreshold = .005f
 
float GLumenReflectionHierarchicalScreenTraceHistoryDepthTestRelativeThickness = .005f
 
int32 GLumenReflectionHairStrands_VoxelTrace = 1
 
int32 GLumenReflectionHairStrands_ScreenTrace = 1
 
int32 GLumenReflectionTraceCompactionGroupSizeInTiles = 16
 
int32 GLumenReflectionTraceCompactionWaveOps = 1
 
int32 GLumenReflectionsSampleSceneColorAtHit = 1
 
TAutoConsoleVariable< floatGVarLumenReflectionSampleSceneColorRelativeDepthThreshold (TEXT("r.Lumen.Reflections.SampleSceneColorRelativeDepthThickness"), 0.01f, TEXT("Depth threshold that controls how close ray hits have to be to the depth buffer, before sampling SceneColor is allowed."), ECVF_Scalability|ECVF_RenderThreadSafe)
 
TAutoConsoleVariable< floatCVarLumenReflectionsSampleSceneColorNormalTreshold (TEXT("r.Lumen.Reflections.SampleSceneColorNormalTreshold"), 85.0f, TEXT("Normal threshold in degrees that controls how close ray hit normal and screen normal have to be, before sampling SceneColor is allowed. 0 - only exactly matching normals allowed. 180 - all normals allowed."), ECVF_Scalability|ECVF_RenderThreadSafe)
 
TAutoConsoleVariable< floatGVarLumenReflectionsFarFieldSampleSceneColorRelativeDepthThreshold (TEXT("r.Lumen.Reflections.FarField.SampleSceneColorRelativeDepthThickness"), 0.1f, TEXT("Depth threshold for far field traces that controls how close ray hits have to be to the depth buffer, before sampling SceneColor is allowed."), ECVF_Scalability|ECVF_RenderThreadSafe)
 
TAutoConsoleVariable< floatCVarLumenReflectionsFarFieldSampleSceneColorNormalTreshold (TEXT("r.Lumen.Reflections.FarField.SampleSceneColorNormalTreshold"), 85.0f, TEXT("Normal threshold in degrees for far field traces that controls how close ray hit normal and screen normal have to be, before sampling SceneColor is allowed. 0 - only exactly matching normals allowed. 180 - all normals allowed."), ECVF_Scalability|ECVF_RenderThreadSafe)
 
int32 GLumenReflectionsDistantScreenTraces = 1
 
float GLumenReflectionDistantScreenTraceSlopeCompareTolerance = 2.0f
 
float GLumenReflectionDistantScreenTraceMaxTraceDistance = 200000.0f
 

Enumeration Type Documentation

◆ ECompactedReflectionTracingIndirectArgs

Enumerator
NumTracesDiv64 
NumTracesDiv32 
NumTracesDiv256 
MAX 

Function Documentation

◆ CVarLumenReflectionDistantScreenTraceStepOffsetBias()

TAutoConsoleVariable< float > CVarLumenReflectionDistantScreenTraceStepOffsetBias ( TEXT("r.Lumen.Reflections.DistantScreenTraces.StepOffsetBias")  ,
0.  f,
TEXT("A bias added to the ray step offset to shift the center of jittering." ,
ECVF_Scalability ECVF_RenderThreadSafe 
)

◆ CVarLumenReflectionHierarchicalScreenTracesMaxIterations()

FAutoConsoleVariableRef CVarLumenReflectionHierarchicalScreenTracesMaxIterations ( TEXT("r.Lumen.Reflections.HierarchicalScreenTraces.MaxIterations")  ,
GLumenReflectionHierarchicalScreenTracesMaxIterations  ,
TEXT("Max iterations for HZB tracing." ,
ECVF_Scalability ECVF_RenderThreadSafe 
)

◆ CVarLumenReflectionHierarchicalScreenTracesMinimumOccupancy()

FAutoConsoleVariableRef CVarLumenReflectionHierarchicalScreenTracesMinimumOccupancy ( TEXT("r.Lumen.Reflections.HierarchicalScreenTraces.MinimumOccupancy")  ,
GLumenReflectionScreenTracesMinimumOccupancy  ,
TEXT("Minimum number of threads still tracing before aborting the trace. Can be used for scalability to abandon traces that have a disproportionate cost." ,
ECVF_Scalability ECVF_RenderThreadSafe 
)

◆ CVarLumenReflectionScreenTraces()

FAutoConsoleVariableRef CVarLumenReflectionScreenTraces ( TEXT("r.Lumen.Reflections.ScreenTraces")  ,
GLumenReflectionScreenTraces  ,
TEXT("Whether to trace against the screen for reflections before falling back to other methods." ,
ECVF_Scalability ECVF_RenderThreadSafe 
)

◆ CVarLumenReflectionsDistantScreenTraces()

FAutoConsoleVariableRef CVarLumenReflectionsDistantScreenTraces ( TEXT("r.Lumen.Reflections.DistantScreenTraces")  ,
GLumenReflectionsDistantScreenTraces  ,
TEXT("2 - Enable")  ,
ECVF_Scalability ECVF_RenderThreadSafe 
)

◆ CVarLumenReflectionsSampleSceneColorAtHit()

FAutoConsoleVariableRef CVarLumenReflectionsSampleSceneColorAtHit ( TEXT("r.Lumen.Reflections.SampleSceneColorAtHit")  ,
GLumenReflectionsSampleSceneColorAtHit  ,
TEXT("Whether to sample SceneColor on reflection ray hits (both SWRT and HWRT). Useful for hiding areas where Screen Traces gave up when they went behind a foreground object. 0 - Disable. 1 - Enable only when screen space traces are enabled. 2 - Always enable." ,
ECVF_Scalability ECVF_RenderThreadSafe 
)

◆ CVarLumenReflectionTraceCompactionWaveOps()

FAutoConsoleVariableRef CVarLumenReflectionTraceCompactionWaveOps ( TEXT("r.Lumen.Reflections.TraceCompaction.WaveOps")  ,
GLumenReflectionTraceCompactionWaveOps  ,
TEXT("Whether to use Wave Ops path for trace compaction." ,
ECVF_Scalability ECVF_RenderThreadSafe 
)

◆ GVarLumenReflectionDistantScreenTraceDepthThreshold()

FAutoConsoleVariableRef GVarLumenReflectionDistantScreenTraceDepthThreshold ( TEXT("r.Lumen.Reflections.DistantScreenTraces.DepthThreshold")  ,
GLumenReflectionDistantScreenTraceSlopeCompareTolerance  ,
TEXT("Depth threshold for the linear screen traces done where other traces have missed." ,
ECVF_Scalability ECVF_RenderThreadSafe 
)

◆ GVarLumenReflectionDistantScreenTraceMaxTraceDistance()

FAutoConsoleVariableRef GVarLumenReflectionDistantScreenTraceMaxTraceDistance ( TEXT("r.Lumen.Reflections.DistantScreenTraces.MaxTraceDistance")  ,
GLumenReflectionDistantScreenTraceMaxTraceDistance  ,
TEXT("Trace distance of distant screen traces." ,
ECVF_Scalability ECVF_RenderThreadSafe 
)

◆ GVarLumenReflectionHairStrands_ScreenTrace()

FAutoConsoleVariableRef GVarLumenReflectionHairStrands_ScreenTrace ( TEXT("r.Lumen.Reflections.HairStrands.ScreenTrace")  ,
GLumenReflectionHairStrands_ScreenTrace  ,
TEXT("Whether to trace against hair depth for hair casting shadow onto opaques." ,
ECVF_Scalability ECVF_RenderThreadSafe 
)

◆ GVarLumenReflectionHairStrands_VoxelTrace()

FAutoConsoleVariableRef GVarLumenReflectionHairStrands_VoxelTrace ( TEXT("r.Lumen.Reflections.HairStrands.VoxelTrace")  ,
GLumenReflectionHairStrands_VoxelTrace  ,
TEXT("Whether to trace against hair voxel structure for hair casting shadow onto opaques." ,
ECVF_Scalability ECVF_RenderThreadSafe 
)

◆ GVarLumenReflectionHierarchicalScreenTraceHistoryDepthTestRelativeThickness()

FAutoConsoleVariableRef GVarLumenReflectionHierarchicalScreenTraceHistoryDepthTestRelativeThickness ( TEXT("r.Lumen.Reflections.HierarchicalScreenTraces.HistoryDepthTestRelativeThickness")  ,
GLumenReflectionHierarchicalScreenTraceHistoryDepthTestRelativeThickness  ,
TEXT("Distance between HZB trace hit and previous frame scene depth from which to allow hits, as a relative depth threshold." ,
ECVF_Scalability ECVF_RenderThreadSafe 
)

◆ GVarLumenReflectionHierarchicalScreenTraceRelativeDepthThreshold()

FAutoConsoleVariableRef GVarLumenReflectionHierarchicalScreenTraceRelativeDepthThreshold ( TEXT("r.Lumen.Reflections.HierarchicalScreenTraces.RelativeDepthThickness")  ,
GLumenReflectionHierarchicalScreenTraceRelativeDepthThreshold  ,
TEXT("Determines depth thickness of objects hit by HZB tracing, as a relative depth threshold." ,
ECVF_Scalability ECVF_RenderThreadSafe 
)

◆ GVarLumenReflectionTraceCompactionGroupSizeInTiles()

FAutoConsoleVariableRef GVarLumenReflectionTraceCompactionGroupSizeInTiles ( TEXT("r.Lumen.Reflections.TraceCompaction.GroupSizeInTraceTiles")  ,
GLumenReflectionTraceCompactionGroupSizeInTiles  ,
TEXT("Size of the trace compaction threadgroup. Larger group = better coherency in the compacted traces. Currently only supported by WaveOps path." ,
ECVF_Scalability ECVF_RenderThreadSafe 
)

◆ IMPLEMENT_GLOBAL_SHADER() [1/9]

IMPLEMENT_GLOBAL_SHADER ( FReflectionClearTracesCS  ,
"/Engine/Private/Lumen/LumenReflectionTracing.usf"  ,
"ReflectionClearTracesCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [2/9]

IMPLEMENT_GLOBAL_SHADER ( FReflectionCompactTracesCS  ,
"/Engine/Private/Lumen/LumenReflectionTracing.usf"  ,
"ReflectionCompactTracesCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [3/9]

IMPLEMENT_GLOBAL_SHADER ( FReflectionSortTracesByMaterialCS  ,
"/Engine/Private/Lumen/LumenReflectionTracing.usf"  ,
"ReflectionSortTracesByMaterialCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [4/9]

IMPLEMENT_GLOBAL_SHADER ( FReflectionTraceMeshSDFsCS  ,
"/Engine/Private/Lumen/LumenReflectionTracing.usf"  ,
"ReflectionTraceMeshSDFsCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [5/9]

IMPLEMENT_GLOBAL_SHADER ( FReflectionTraceScreenTexturesCS  ,
"/Engine/Private/Lumen/LumenReflectionTracing.usf"  ,
"ReflectionTraceScreenTexturesCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [6/9]

IMPLEMENT_GLOBAL_SHADER ( FReflectionTraceVoxelsCS  ,
"/Engine/Private/Lumen/LumenReflectionTracing.usf"  ,
"ReflectionTraceVoxelsCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [7/9]

IMPLEMENT_GLOBAL_SHADER ( FSetupCompactionIndirectArgsCS  ,
"/Engine/Private/Lumen/LumenReflectionTracing.usf"  ,
"SetupCompactionIndirectArgsCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [8/9]

IMPLEMENT_GLOBAL_SHADER ( FSetupReflectionCompactedTracesIndirectArgsCS  ,
"/Engine/Private/Lumen/LumenReflectionTracing.usf"  ,
"SetupCompactedTracesIndirectArgsCS"  ,
SF_Compute   
)

◆ IMPLEMENT_GLOBAL_SHADER() [9/9]

IMPLEMENT_GLOBAL_SHADER ( FVisualizeReflectionTracesCS  ,
"/Engine/Private/Lumen/LumenReflectionTracing.usf"  ,
"VisualizeReflectionTracesCS"  ,
SF_Compute   
)

◆ SetupHZBScreenTraceParameters()

FLumenHZBScreenTraceParameters SetupHZBScreenTraceParameters ( FRDGBuilder GraphBuilder,
const FViewInfo View,
const FSceneTextures SceneTextures 
)

◆ SetupIndirectTracingParametersForReflections()

void SetupIndirectTracingParametersForReflections ( const FViewInfo View,
FLumenIndirectTracingParameters OutParameters 
)

◆ TraceReflections()

void TraceReflections ( FRDGBuilder GraphBuilder,
const FScene Scene,
const FViewInfo View,
const FLumenSceneFrameTemporaries FrameTemporaries,
bool  bTraceMeshObjects,
const FSceneTextures SceneTextures,
const FLumenReflectionTracingParameters ReflectionTracingParameters,
const FLumenReflectionTileParameters ReflectionTileParameters,
const FLumenMeshSDFGridParameters InMeshSDFGridParameters,
bool  bUseRadianceCache,
EDiffuseIndirectMethod  DiffuseIndirectMethod,
const LumenRadianceCache::FRadianceCacheInterpolationParameters RadianceCacheParameters,
const FBoxSphereBounds FirstPersonWorldSpaceRepresentationViewBounds,
ERDGPassFlags  ComputePassFlags 
)

◆ TraceTranslucency()

void TraceTranslucency ( FRDGBuilder GraphBuilder,
const FScene Scene,
const FViewInfo View,
const FLumenSceneFrameTemporaries FrameTemporaries,
const FSceneTextures SceneTextures,
const FLumenReflectionTracingParameters ReflectionTracingParameters,
const FLumenReflectionTileParameters ReflectionTileParameters,
EDiffuseIndirectMethod  DiffuseIndirectMethod,
ERDGPassFlags  ComputePassFlags,
bool  bUseRayTracedRefraction 
)

Variable Documentation

◆ CVarLumenReflectionsFarFieldSampleSceneColorNormalTreshold

TAutoConsoleVariable< float > CVarLumenReflectionsFarFieldSampleSceneColorNormalTreshold(TEXT("r.Lumen.Reflections.FarField.SampleSceneColorNormalTreshold"), 85.0f, TEXT("Normal threshold in degrees for far field traces that controls how close ray hit normal and screen normal have to be, before sampling SceneColor is allowed. 0 - only exactly matching normals allowed. 180 - all normals allowed."), ECVF_Scalability|ECVF_RenderThreadSafe) ( TEXT("r.Lumen.Reflections.FarField.SampleSceneColorNormalTreshold")  ,
85.  0f,
TEXT("Normal threshold in degrees for far field traces that controls how close ray hit normal and screen normal have to be, before sampling SceneColor is allowed. 0 - only exactly matching normals allowed. 180 - all normals allowed." ,
ECVF_Scalability ECVF_RenderThreadSafe 
)

◆ CVarLumenReflectionsSampleSceneColorNormalTreshold

TAutoConsoleVariable< float > CVarLumenReflectionsSampleSceneColorNormalTreshold(TEXT("r.Lumen.Reflections.SampleSceneColorNormalTreshold"), 85.0f, TEXT("Normal threshold in degrees that controls how close ray hit normal and screen normal have to be, before sampling SceneColor is allowed. 0 - only exactly matching normals allowed. 180 - all normals allowed."), ECVF_Scalability|ECVF_RenderThreadSafe) ( TEXT("r.Lumen.Reflections.SampleSceneColorNormalTreshold")  ,
85.  0f,
TEXT("Normal threshold in degrees that controls how close ray hit normal and screen normal have to be, before sampling SceneColor is allowed. 0 - only exactly matching normals allowed. 180 - all normals allowed." ,
ECVF_Scalability ECVF_RenderThreadSafe 
)

◆ CVarLumenScreenTracingSource

FAutoConsoleVariableRef CVarLumenScreenTracingSource(TEXT("r.Lumen.ScreenTracingSource"), GLumenScreenTracingSource, TEXT("1: Anti-aliased Scene Color (translucency intersected with the opaque depths, less noise from small emissive elements)"), ECVF_RenderThreadSafe) ( TEXT("r.Lumen.ScreenTracingSource")  ,
GLumenScreenTracingSource  ,
TEXT("1: Anti-aliased Scene Color (translucency intersected with the opaque depths, less noise from small emissive elements)")  ,
ECVF_RenderThreadSafe   
)

◆ GLumenReflectionDistantScreenTraceMaxTraceDistance

float GLumenReflectionDistantScreenTraceMaxTraceDistance = 200000.0f

◆ GLumenReflectionDistantScreenTraceSlopeCompareTolerance

float GLumenReflectionDistantScreenTraceSlopeCompareTolerance = 2.0f

◆ GLumenReflectionHairStrands_ScreenTrace

int32 GLumenReflectionHairStrands_ScreenTrace = 1

◆ GLumenReflectionHairStrands_VoxelTrace

int32 GLumenReflectionHairStrands_VoxelTrace = 1

◆ GLumenReflectionHierarchicalScreenTraceHistoryDepthTestRelativeThickness

float GLumenReflectionHierarchicalScreenTraceHistoryDepthTestRelativeThickness = .005f

◆ GLumenReflectionHierarchicalScreenTraceRelativeDepthThreshold

float GLumenReflectionHierarchicalScreenTraceRelativeDepthThreshold = .005f

◆ GLumenReflectionHierarchicalScreenTracesMaxIterations

int32 GLumenReflectionHierarchicalScreenTracesMaxIterations = 50

◆ GLumenReflectionScreenTraces

int32 GLumenReflectionScreenTraces = 1

◆ GLumenReflectionScreenTracesMinimumOccupancy

int32 GLumenReflectionScreenTracesMinimumOccupancy = 0

◆ GLumenReflectionsDistantScreenTraces

int32 GLumenReflectionsDistantScreenTraces = 1

◆ GLumenReflectionsSampleSceneColorAtHit

int32 GLumenReflectionsSampleSceneColorAtHit = 1

◆ GLumenReflectionTraceCompactionGroupSizeInTiles

int32 GLumenReflectionTraceCompactionGroupSizeInTiles = 16

◆ GLumenReflectionTraceCompactionWaveOps

int32 GLumenReflectionTraceCompactionWaveOps = 1

◆ GLumenScreenTracingSource

int32 GLumenScreenTracingSource = 0

◆ GVarLumenReflectionSampleSceneColorRelativeDepthThreshold

TAutoConsoleVariable< float > GVarLumenReflectionSampleSceneColorRelativeDepthThreshold(TEXT("r.Lumen.Reflections.SampleSceneColorRelativeDepthThickness"), 0.01f, TEXT("Depth threshold that controls how close ray hits have to be to the depth buffer, before sampling SceneColor is allowed."), ECVF_Scalability|ECVF_RenderThreadSafe) ( TEXT("r.Lumen.Reflections.SampleSceneColorRelativeDepthThickness")  ,
0.  01f,
TEXT("Depth threshold that controls how close ray hits have to be to the depth buffer, before sampling SceneColor is allowed." ,
ECVF_Scalability ECVF_RenderThreadSafe 
)

◆ GVarLumenReflectionsFarFieldSampleSceneColorRelativeDepthThreshold

TAutoConsoleVariable< float > GVarLumenReflectionsFarFieldSampleSceneColorRelativeDepthThreshold(TEXT("r.Lumen.Reflections.FarField.SampleSceneColorRelativeDepthThickness"), 0.1f, TEXT("Depth threshold for far field traces that controls how close ray hits have to be to the depth buffer, before sampling SceneColor is allowed."), ECVF_Scalability|ECVF_RenderThreadSafe) ( TEXT("r.Lumen.Reflections.FarField.SampleSceneColorRelativeDepthThickness")  ,
0.  1f,
TEXT("Depth threshold for far field traces that controls how close ray hits have to be to the depth buffer, before sampling SceneColor is allowed." ,
ECVF_Scalability ECVF_RenderThreadSafe 
)