2023, Lauttia, T., Master of Science thesis, Tampere University.
Abstract: Path tracing has become a standard technique in photorealistic rendering for movie production and other offline use cases. With the advent of hardware-accelerated ray tracing in recent years, path tracing has started to make its way into real-time rendering as well. Most new games released today incorporate some ray tracing-based effects, such as ray traced global illumination, reflections or shadows. However, real-time applications have a hard execution time constraint. Typically, a single frame has to be rendered in under 1/60 of a second to achieve a consistent frame rate of 60 fps or more. This means that the number of rays that can be traced per frame is very limited, typically only a handful of rays per pixel. This results in very noisy images due to the stochastic nature of the path tracing algorithm.
Denoising filters are used to try and reconstruct a clean image from a low sample count noisy input image. In this work, two contemporary denoising algorithms, Spatiotemporal Variance-Guided Filtering (SVGF) and Blockwise Multi-Order Feature Regression (BMFR) were reimplemented and evaluated in terms of visual quality and execution time using modern hardware with ray tracing support. The results in terms of visual quality for both algorithms were similar. The execution times for both algorithms were under 2 milliseconds at resolution of 1280 x 720 in all tests, which is well within a reasonable budget for use in real-time rendering. However, in terms of objective quality, measured using Root Mean Squared Error (RMSE) and Structural Similarity Index Measure (SSIM), both algorithms performed worse than the original papers. A likely cause for this gap is the difference in materials, making specular lighting more dominant in our test scenes. Based on the experiments, specular lighting causes major problems for both SVGF and BMFR. In particular, rough materials cause very high amounts of noise in the output, making it harder to denoise. Temporal accumulation for specular lighting is also challenging, as the primary ray hit point does not have information about the reflected surface.
Several methods for computing believable specular reflections in real-time have been published. However, most methods use a variety of hacks to reduce the amount of noise from specular reflections, trading physical accuracy for less noise. For example, specular reflections for surfaces with high roughness are typically not ray traced at all, and are instead approximated using techniques such as spherical harmonics or radiance caching. We conclude that a robust denoising algorithm capable of reconstructing specular illumination at an adequate quality for production for surfaces of varying roughness values has yet to be proposed. Based on the tests performed in this work and current state-of-the-art techniques used in production in real-time rendering, further research into robust specular denoising algorithms would be beneficial.