Ah I see… you’ve disabled the temporal accumulation buffer for MegaLights with r.MegaLights.Temporal
?
MegaLights is a fancy marketing name for “stochastic shadowing.”
Stochastic means randomly sampled.
The idea behind stochastic sampling is that while any individual spatial sample is wrong (at least part of the time), multiple samples accumulated over time converge towards being correct. This will result in a roughly 1 pixel border where noise can occur as the ray sometimes hits the light but sometimes doesn’t on a frame by frame basis.
Even if you have TAA off in your project, you can use the temporal buffer for MegaLights. The ability to turn it off is probably for debugging purposes, and not intended to be used like that.
But if you do, and want to make it temporally stable, the command r.MegaLights.FixedStateFrameIndex
set to 0 will prevent the noise from moving each frame, although camera movies will still cause shifting as the noise is not projected in world space. With supersampling this shifting can be made invisible by making it subpixel. So perhaps when you finally get around to adding some form of SSAA to the engine this can be solved.
You are still working on implementing a new AA algorithm, right?
With the MegaLights temporal buffer turned on, even with TAA off, the noise all but completely eliminated. I’ll admit that it is a tiny bit - almost imperceptibly - less sharp than standard RT, and that there is a 1 pixel edge where sometimes noise can be visible. Although once you add texture, normal maps, etc. even this essential disappears in the final image.
Asking MegaLights to be completely temporally independent entirely misunderstands the technology. The innovation IS the stochastics (aka noise) so if you have a problem with a tiny amount of edge noise (which is perfectly valid opinion, although I think most would disagree that it is an unacceptable compromise for the performance gain) then switch on standard RT and pay the price for non-stochastic quality or use CSM. This feature just might not be for you.
I’m sure that it’ll continue to be improved, even in the noise department… But asking for 0 noise without any temporal accumulation is probably asking for a mathematical impossibility. At least without supersampling I guess.
There is no need to lie. People already know this engine is a noisy mess.
Again proving it is impossible for you to provide feedback without being negative.