|
| 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< 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) |
| |
| | 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) |
| |
|
| 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< 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) |
| |
| 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) |
| |
| 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) |
| |
| 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) |
| |
| int32 | GLumenReflectionsDistantScreenTraces = 1 |
| |
| float | GLumenReflectionDistantScreenTraceSlopeCompareTolerance = 2.0f |
| |
| float | GLumenReflectionDistantScreenTraceMaxTraceDistance = 200000.0f |
| |