|
| FAutoConsoleVariableRef | GVarLumenScreenProbeGatherImportanceSampling (TEXT("r.Lumen.ScreenProbeGather.ImportanceSample"), GLumenScreenProbeImportanceSampling, TEXT("Whether to use Importance Sampling to generate probe trace directions."), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | GVarLumenScreenProbeImportanceSamplingNumLevels (TEXT("r.Lumen.ScreenProbeGather.ImportanceSample.NumLevels"), GLumenScreenProbeImportanceSamplingNumLevels, TEXT("Number of refinement levels to use for screen probe importance sampling. Currently only supported by the serial reference path in ScreenProbeGenerateRaysCS."), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | GVarLumenScreenProbeImportanceSampleIncomingLighting (TEXT("r.Lumen.ScreenProbeGather.ImportanceSample.IncomingLighting"), GLumenScreenProbeImportanceSampleIncomingLighting, TEXT("Whether to Importance Sample incoming lighting to generate probe trace directions. When disabled, only the BRDF will be importance sampled."), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | GVarLumenScreenProbeImportanceSampleProbeRadianceHistory (TEXT("r.Lumen.ScreenProbeGather.ImportanceSample.ProbeRadianceHistory"), GLumenScreenProbeImportanceSampleProbeRadianceHistory, TEXT("Whether to Importance Sample incoming lighting from last frame's filtered traces to generate probe trace directions. When disabled, the Radiance Cache will be used instead."), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | CVarLumenScreenProbeBRDFOctahedronResolution (TEXT("r.Lumen.ScreenProbeGather.ImportanceSample.BRDFOctahedronResolution"), GLumenScreenProbeBRDFOctahedronResolution, TEXT("Resolution of the BRDF PDF octahedron per probe."), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| FAutoConsoleVariableRef | GVarLumenScreenProbeImportanceSamplingMinPDFToTrace (TEXT("r.Lumen.ScreenProbeGather.ImportanceSample.MinPDFToTrace"), GLumenScreenProbeImportanceSamplingMinPDFToTrace, TEXT("Minimum normalized BRDF PDF to trace rays for. Larger values cause black corners, but reduce noise as more rays are able to be reassigned to an important direction."), ECVF_Scalability|ECVF_RenderThreadSafe) |
| |
| | IMPLEMENT_GLOBAL_SHADER (FScreenProbeComputeBRDFProbabilityDensityFunctionCS, "/Engine/Private/Lumen/LumenScreenProbeImportanceSampling.usf", "ScreenProbeComputeBRDFProbabilityDensityFunctionCS", SF_Compute) |
| |
| | IMPLEMENT_GLOBAL_SHADER (FScreenProbeComputeLightingProbabilityDensityFunctionCS, "/Engine/Private/Lumen/LumenScreenProbeImportanceSampling.usf", "ScreenProbeComputeLightingProbabilityDensityFunctionCS", SF_Compute) |
| |
| | IMPLEMENT_GLOBAL_SHADER (FScreenProbeGenerateRaysCS, "/Engine/Private/Lumen/LumenScreenProbeImportanceSampling.usf", "ScreenProbeGenerateRaysCS", SF_Compute) |
| |
| int32 | LumenScreenProbeGather::IsProbeTracingResolutionSupportedForImportanceSampling (int32 TracingResolution) |
| |
| bool | LumenScreenProbeGather::UseImportanceSampling (const FViewInfo &View) |
| |
| void | GenerateBRDF_PDF (FRDGBuilder &GraphBuilder, const FViewInfo &View, const FSceneTextures &SceneTextures, FRDGTextureRef &BRDFProbabilityDensityFunction, FRDGBufferSRVRef &BRDFProbabilityDensityFunctionSH, FScreenProbeParameters &ScreenProbeParameters, ERDGPassFlags ComputePassFlags) |
| |
| void | GenerateImportanceSamplingRays (FRDGBuilder &GraphBuilder, const FViewInfo &View, const FSceneTextures &SceneTextures, const LumenRadianceCache::FRadianceCacheInterpolationParameters &RadianceCacheParameters, FRDGTextureRef BRDFProbabilityDensityFunction, FRDGBufferSRVRef BRDFProbabilityDensityFunctionSH, FScreenProbeParameters &ScreenProbeParameters, ERDGPassFlags ComputePassFlags) |
| |