|
| FAutoConsoleVariableRef | CVarLumenRadiosity (TEXT("r.LumenScene.Radiosity"), GLumenRadiosity, TEXT("Whether to enable the Radiosity, which is an indirect lighting gather from the Surface Cache that provides multibounce diffuse."), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | CVarLumenRadiosityProbeSpacing (TEXT("r.LumenScene.Radiosity.ProbeSpacing"), GLumenRadiosityProbeSpacing, TEXT("Distance between probes, in Surface Cache texels"), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | CVarLumenRadiosityHemisphereProbeResolution (TEXT("r.LumenScene.Radiosity.HemisphereProbeResolution"), GLumenRadiosityHemisphereProbeResolution, TEXT("Number of traces along one dimension of the hemisphere probe layout."), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | CVarLumenRadiositySpatialFilterProbes (TEXT("r.LumenScene.Radiosity.SpatialFilterProbes"), GLumenRadiositySpatialFilterProbes, TEXT("Whether to spatially filter Radiosity probes. Filtering reduces noise but increases leaking."), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | CVarLumenRadiositySpatialFilterProbesKernelSize (TEXT("r.LumenScene.Radiosity.SpatialFilterProbes.KernelSize"), GLumenRadiositySpatialFilterProbesKernelSize, TEXT("Larger kernels reduce noise but increase leaking."), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | CVarRadiosityFilteringProbePlaneWeighting (TEXT("r.LumenScene.Radiosity.ProbePlaneWeighting"), GRadiosityFilteringProbePlaneWeighting, TEXT("Whether to weight Radiosity probes by plane distance, useful to prevent leaking."), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | CVarRadiosityFilteringProbeOcclusion (TEXT("r.LumenScene.Radiosity.ProbeOcclusion"), GRadiosityFilteringProbeOcclusion, TEXT("Whether to depth test against the probe hit depths during interpolation and filtering to reduce leaking. Not available with Software Ray Tracing due to imprecision."), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | CVarRadiosityFilteringProbeOcclusionStrength (TEXT("r.LumenScene.Radiosity.ProbeOcclusionStrength"), GRadiosityFilteringProbeOcclusionStrength, TEXT("Strength of probe occlusion. 0 = No probe occlusion, 1 = Attempt to stop all leaking, but has self-occlusion artifacts, .5 (default) = tradeoff between the extremes."), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | CVarRadiosityProbePlaneWeightingDepthScale (TEXT("r.LumenScene.Radiosity.SpatialFilterProbes.PlaneWeightingDepthScale"), GRadiosityProbePlaneWeightingDepthScale, TEXT("Controls the distance at which probes can be interpolated from. Higher values introduce leaking."), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | CVarLumenRadiosityMaxRayIntensity (TEXT("r.LumenScene.Radiosity.MaxRayIntensity"), GLumenRadiosityMaxRayIntensity, TEXT("Clamps Radiosity trace intensity, relative to current view exposure. Useful for reducing artifacts from small bright emissive sources, but loses energy and adds view dependence."), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | CVarLumenRadiositySurfaceBias (TEXT("r.LumenScene.Radiosity.DistanceFieldSurfaceBias"), GLumenRadiosityDistanceFieldSurfaceBias, TEXT("."), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | CVarLumenRadiosityDistanceFieldSurfaceBias (TEXT("r.LumenScene.Radiosity.DistanceFieldSurfaceSlopeBias"), GLumenRadiosityDistanceFieldSurfaceBias, TEXT("."), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | CVarLumenRadiosityHardwareRayTracingSurfaceBias (TEXT("r.LumenScene.Radiosity.HardwareRayTracing.SurfaceBias"), GLumenRadiosityHardwareRayTracingSurfaceBias, TEXT("."), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | CVarLumenRadiosityHardwareRayTracingSlopeSurfaceBias (TEXT("r.LumenScene.Radiosity.HardwareRayTracing.SlopeSurfaceBias"), GLumenRadiosityHardwareRayTracingSurfaceSlopeBias, TEXT("."), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | CVarLumenRadiosityTemporalAccumulation (TEXT("r.LumenScene.Radiosity.Temporal"), GLumenRadiosityTemporalAccumulation, TEXT("Whether to use temporal super sampling on Radiosity. Increases quality, but also adds latency to the speed that lighting changes propagate, and animated noise in the results."), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | CVarLumenRadiosityTemporalMaxFramesAccumulated (TEXT("r.LumenScene.Radiosity.Temporal.MaxFramesAccumulated"), GLumenRadiosityTemporalMaxFramesAccumulated, TEXT("Lower values cause the temporal filter to propagate lighting changes faster, but also increase flickering from noise."), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | CVarLumenRadiosityFixedJitterIndex (TEXT("r.LumenScene.Radiosity.Temporal.FixedJitterIndex"), GLumenRadiosityFixedJitterIndex, TEXT("If zero or greater, overrides the temporal jitter index with a fixed index. Useful for debugging and inspecting sampling patterns."), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| void | LumenRadiosity::AddRadiosityPass (FRDGBuilder &GraphBuilder, const FScene *Scene, const TArray< FViewInfo > &Views, bool bRenderSkylight, FLumenSceneData &LumenSceneData, const FLumenSceneFrameTemporaries &FrameTemporaries, const LumenRadiosity::FFrameTemporaries &RadiosityFrameTemporaries, const FLumenCardUpdateContext &CardUpdateContext, FLumenCardTileUpdateContext &CardTileUpdateContext, ERDGPassFlags ComputePassFlags) |
| |
| uint32 | LumenRadiosity::GetRadiosityProbeSpacing (const FViewInfo &View) |
| |
| int32 | LumenRadiosity::GetHemisphereProbeResolution (const FViewInfo &View) |
| |
| bool | LumenRadiosity::UseTemporalAccumulation () |
| |
| bool | LumenRadiosity::UseProbeOcclusion () |
| |
| | IMPLEMENT_GLOBAL_SHADER (FBuildRadiosityTilesCS, "/Engine/Private/Lumen/Radiosity/LumenRadiosityCulling.usf", "BuildRadiosityTilesCS", SF_Compute) |
| |
| | IMPLEMENT_GLOBAL_SHADER (FLumenRadiosityIndirectArgsCS, "/Engine/Private/Lumen/Radiosity/LumenRadiosity.usf", "LumenRadiosityIndirectArgsCS", SF_Compute) |
| |
| | IMPLEMENT_GLOBAL_SHADER (FLumenRadiosityDistanceFieldTracingCS, "/Engine/Private/Lumen/Radiosity/LumenRadiosity.usf", "LumenRadiosityDistanceFieldTracingCS", SF_Compute) |
| |
| | IMPLEMENT_GLOBAL_SHADER (FLumenRadiositySpatialFilterProbeRadiance, "/Engine/Private/Lumen/Radiosity/LumenRadiosity.usf", "LumenRadiositySpatialFilterProbeRadiance", SF_Compute) |
| |
| | IMPLEMENT_GLOBAL_SHADER (FLumenRadiosityConvertToSH, "/Engine/Private/Lumen/Radiosity/LumenRadiosity.usf", "LumenRadiosityConvertToSH", SF_Compute) |
| |
| | IMPLEMENT_GLOBAL_SHADER (FLumenRadiosityIntegrateCS, "/Engine/Private/Lumen/Radiosity/LumenRadiosity.usf", "LumenRadiosityIntegrateCS", SF_Compute) |
| |
| FRDGTextureRef | RegisterOrCreateRadiosityAtlas (FRDGBuilder &GraphBuilder, const TRefCountPtr< IPooledRenderTarget > &AtlasRT, const TCHAR *AtlasName, FIntPoint AtlasSize, EPixelFormat AtlasFormat, bool &bIndirectLightingHistoryValid) |
| |
| | IMPLEMENT_GLOBAL_SHADER (FBuildVisualizeProbesCS, "/Engine/Private/Lumen/Radiosity/LumenVisualizeRadiosityProbes.usf", "BuildVisualizeProbesCS", SF_Compute) |
| |
| | IMPLEMENT_GLOBAL_SHADER (FVisualizeRadiosityProbesVS, "/Engine/Private/Lumen/Radiosity/LumenVisualizeRadiosityProbes.usf", "VisualizeRadiosityProbesVS", SF_Vertex) |
| |
| | IMPLEMENT_GLOBAL_SHADER (FVisualizeRadiosityProbesPS, "/Engine/Private/Lumen/Radiosity/LumenVisualizeRadiosityProbes.usf", "VisualizeRadiosityProbesPS", SF_Pixel) |
| |