|
| FAutoConsoleVariableRef | GVarLumenScreenProbeGatherScreenTraces (TEXT("r.Lumen.ScreenProbeGather.ScreenTraces"), GLumenScreenProbeGatherScreenTraces, TEXT("Whether to trace against the screen before falling back to other tracing methods."), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | GVarLumenScreenProbeGatherHierarchicalScreenTraces (TEXT("r.Lumen.ScreenProbeGather.ScreenTraces.HZBTraversal"), GLumenScreenProbeGatherHierarchicalScreenTraces, TEXT("Whether to use HZB tracing for SSGI instead of fixed step count intersection. HZB tracing is much more accurate, in particular not missing thin features, but is about ~3x slower."), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | GVarLumenScreenProbeGatherHierarchicalScreenTracesFullResDepth (TEXT("r.Lumen.ScreenProbeGather.ScreenTraces.HZBTraversal.FullResDepth"), GLumenScreenProbeGatherHierarchicalScreenTracesFullResDepth, TEXT("Whether the HZB traversal should go all the way down to the full resolution depth, which is more accurate but adds incoherency to the inner loop."), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | GVarLumenScreenProbeGatherHierarchicalScreenTracesSkipFoliageHits (TEXT("r.Lumen.ScreenProbeGather.ScreenTraces.HZBTraversal.SkipFoliageHits"), GLumenScreenProbeGatherHierarchicalScreenTracesSkipFoliageHits, TEXT("Whether to allow screen traces to hit Subsurface and TwoSided Foliage shading models. Can be used to work around aliasing from high frequency grass geometry."), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | GVarLumenScreenProbeGatherHierarchicalScreenTracesMaxIterations (TEXT("r.Lumen.ScreenProbeGather.ScreenTraces.HZBTraversal.MaxIterations"), GLumenScreenProbeGatherHierarchicalScreenTracesMaxIterations, TEXT("Max iterations for HZB tracing."), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | GVarLumenScreenProbeGatherRelativeDepthThickness (TEXT("r.Lumen.ScreenProbeGather.ScreenTraces.HZBTraversal.RelativeDepthThickness"), GLumenScreenProbeGatherRelativeDepthThickness, TEXT("Determines depth thickness of objects hit by HZB tracing, as a relative depth threshold."), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | GVarLumenScreenProbeGatherHistoryDepthTestRelativeThickness (TEXT("r.Lumen.ScreenProbeGather.ScreenTraces.HZBTraversal.HistoryDepthTestRelativeThickness"), GLumenScreenProbeGatherHistoryDepthTestRelativeThickness, 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 | GVarLumenScreenProbeGatherNumThicknessStepsToDetermineCertainty (TEXT("r.Lumen.ScreenProbeGather.ScreenTraces.HZBTraversal.NumThicknessStepsToDetermineCertainty"), GLumenScreenProbeGatherNumThicknessStepsToDetermineCertainty, TEXT("Number of linear search steps to determine if a hit feature is thin and should be ignored."), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | GVarLumenScreenProbeGatherVisualizeTraces (TEXT("r.Lumen.ScreenProbeGather.VisualizeTraces"), GLumenScreenProbeGatherVisualizeTraces, TEXT("Whether to visualize traces for the center screen probe, useful for debugging"), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | GVarLumenScreenProbeGatherVisualizeTracesFreeze (TEXT("r.Lumen.ScreenProbeGather.VisualizeTracesFreeze"), GLumenScreenProbeGatherVisualizeTracesFreeze, TEXT("Whether to freeze updating the visualize trace data. Note that no changes to cvars or shaders will propagate until unfrozen."), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | GVarLumenScreenProbeGatherHairStrands_VoxelTrace (TEXT("r.Lumen.ScreenProbeGather.HairStrands.VoxelTrace"), GLumenScreenProbeGatherHairStrands_VoxelTrace, TEXT("Whether to trace against hair voxel structure for hair casting shadow onto opaques."), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | GVarLumenScreenProbeGatherHairStrands_ScreenTrace (TEXT("r.Lumen.ScreenProbeGather.HairStrands.ScreenTrace"), GLumenScreenProbeGatherHairStrands_ScreenTrace, TEXT("Whether to trace against hair depth for hair casting shadow onto opaques."), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | CVarLumenScreenProbeGatherScreenTraceMinimumOccupancy (TEXT("r.Lumen.ScreenProbeGather.ScreenTraces.MinimumOccupancy"), GLumenScreenProbeGatherScreenTracesMinimumOccupancy, 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) |
| |
| bool | SupportsHairScreenTraces () |
| |
| | IMPLEMENT_GLOBAL_SHADER (FClearTracesCS, "/Engine/Private/Lumen/LumenScreenProbeTracing.usf", "ClearTracesCS", SF_Compute) |
| |
| | IMPLEMENT_GLOBAL_SHADER (FScreenProbeTraceScreenTexturesCS, "/Engine/Private/Lumen/LumenScreenProbeTracing.usf", "ScreenProbeTraceScreenTexturesCS", SF_Compute) |
| |
| | IMPLEMENT_GLOBAL_SHADER (FScreenProbeCompactTracesCS, "/Engine/Private/Lumen/LumenScreenProbeTracing.usf", "ScreenProbeCompactTracesCS", SF_Compute) |
| |
| | IMPLEMENT_GLOBAL_SHADER (FSetupCompactedTracesIndirectArgsCS, "/Engine/Private/Lumen/LumenScreenProbeTracing.usf", "SetupCompactedTracesIndirectArgsCS", SF_Compute) |
| |
| | IMPLEMENT_GLOBAL_SHADER (FScreenProbeTraceMeshSDFsCS, "/Engine/Private/Lumen/LumenScreenProbeTracing.usf", "ScreenProbeTraceMeshSDFsCS", SF_Compute) |
| |
| | IMPLEMENT_GLOBAL_SHADER (FScreenProbeTraceVoxelsCS, "/Engine/Private/Lumen/LumenScreenProbeTracing.usf", "ScreenProbeTraceVoxelsCS", SF_Compute) |
| |
| | IMPLEMENT_GLOBAL_SHADER (FScreenProbeSetupVisualizeTracesCS, "/Engine/Private/Lumen/LumenScreenProbeTracing.usf", "ScreenProbeSetupVisualizeTraces", SF_Compute) |
| |
| void | SetupVisualizeTraces (FRDGBuilder &GraphBuilder, const FSceneTextures &SceneTextures, const FScene *Scene, const FViewInfo &View, const FScreenProbeParameters &ScreenProbeParameters, ERDGPassFlags ComputePassFlags) |
| |
| void | GetScreenProbeVisualizeTracesBuffer (TRefCountPtr< FRDGPooledBuffer > &VisualizeTracesData) |
| |
| void | TraceScreenProbes (FRDGBuilder &GraphBuilder, const FScene *Scene, const FViewInfo &View, const FLumenSceneFrameTemporaries &FrameTemporaries, bool bTraceMeshObjects, const FSceneTextures &SceneTextures, FRDGTextureRef LightingChannelsTexture, const LumenRadianceCache::FRadianceCacheInterpolationParameters &RadianceCacheParameters, FScreenProbeParameters &ScreenProbeParameters, FLumenMeshSDFGridParameters &MeshSDFGridParameters, ERDGPassFlags ComputePassFlags) |
| |