About to finish Tutorial 5 using the “Edge-Avoiding À-Trous Wavelet Filter”. On the way to a real-time, game-ready path tracer!
The following images show a scene with the current tutorial state of the path tracer:
Unfiltered (1 sample per pixel):
Filtered (1 sample per pixel):
Ground truth (1000 samples per pixel):
The downside of that edge-avoiding filter is that it requires per-scene tweaking of the various weighting parameters involved. I’m pretty sure the authors spent a whole lot of time to find the right weight coefficients for the still images shown in their paper.
EDIT: Tutorial 5 (more like a demo really than a “tutorial”) is in: https://github.com/LWJGL/lwjgl3-demos/tree/master/src/org/lwjgl/demo/opengl/raytracing/tutorial