Files
UnrealEngineUWP/Engine/Config
krzysztof narkowicz 97afbcc6fe Lumen Reflections - major reflection denoiser rewrite. It's now sharper, faster, has less noise and has less ghosting.
* Downsampled reflections (High scalability) now use temporal upsampling without a heavy spatial filtering pass, so that they can match full resolution reflections (Epic scalability). The main difference between scalability is now tonemapping reducing energy for High and a small spatial filter running on thin and unstable features.
* Temporal accumulation is now more stable, especially under motion. It uses a wider neighborhood clamp with improved history heuristics.
* Ghosting has been somewhat reduced using a tighter neighborhood clamp in YCoCg space and various confidence heuristics speeding up temporal accumulation when a potential mismatch is detected.
* Reflections are in general sharper. Corrected temporal reprojection math, spatial filter is less aggressive, has improved edge stoppers and is driven by a temporal variance, which allows it to run only on pixels which didn't converge well.
* There's less noise due to a combination of improved temporal accumulation, spatial filtering and a bit of color space crunching which helps to reduce energy in hardest to denoise cases
* Fixed various bugs with reading uninitialized data on screen borders and during reprojection
* A few optimizations, like using groupshared to calculate temporal neighborhood and skipping certain operations if they aren't needed

Performance. Console. 1080p. HWRT. LumenReflectiveTest.

Glossy
Epic: 2.89ms -> 2.64ms
High: 1.63ms -> 1.49ms

Mirror
Epic: 1.17ms->1.01ms
High: 1.94ms->1.74ms

[CL 34167848 by krzysztof narkowicz in ue5-main branch]
2024-06-06 14:39:17 -04:00
..
2024-06-03 10:46:16 -04:00