Moments in Graphics
A blog by Christoph Peters

Gradient Estimation for Real-time Adaptive Temporal Filtering

Christoph Schied, Christoph Peters, Carsten Dachsbacher.
2018–08 in Proceedings of the ACM on Computer Graphics and Interactive Techniques (Proc. HPG) 1, 2.
Official version

Abstract

With the push towards physically based rendering, stochastic sampling of shading, e.g. using path tracing, is becoming increasingly important in real-time rendering. To achieve high performance, only low sample counts are viable, which necessitates the use of sophisticated reconstruction filters. Recent research on such filters has shown dramatic improvements in both quality and performance. They exploit the coherence of consecutive frames by reusing temporal information to achieve stable, denoised results. However, existing temporal filters often create objectionable artifacts such as ghosting and lag. We propose a novel temporal filter which analyzes the signal over time to derive adaptive temporal accumulation factors per pixel. It repurposes a subset of the shading budget to sparsely sample and reconstruct the temporal gradient. This allows us to reliably detect sudden changes of the sampled signal and to drop stale history information. We create gradient samples through forward-projection of surface samples from the previous frame into the current frame and by reevaluating the shading samples using the same random sequence. We apply our filter to improve real-time path tracers. Compared to previous work, we show a significant reduction of lag and ghosting as well as improved temporal stability. Our temporal filter runs in 2 ms at 1080p on modern graphics hardware and can be integrated into deferred renderers.

Keywords: temporal filtering, global illumination, reconstruction, denoising, real-time rendering

Images

Teaser

Video

Notes

This work has been presented at High Performance Graphics 2018 on 10th of August. The author's version has been published on 29th of June 2018. The filters presented in this paper are the basis for the path traced Quake 2 Q2VKPT.

Downloads