Computer Graphics Laboratory ETH Zurich

ETH

Practical Path Guiding for Efficient Light-Transport Simulation

T. Müller, M. Gross, J. Novák

Proceedings of Eurographics Symposium on Rendering (EGSR) (Helsinki, Finland, Jun 19-21, 2017), Computer Graphics Forum, vol. 36, no. 4, 2017, pp. 91--100

Abstract

We present a robust, unbiased technique for intelligent light-path construction in path-tracing algorithms. Inspired by existing path-guiding algorithms, our method learns an approximate representation of the scene's spatio-directional radiance field in an unbiased and iterative manner. To that end, we propose an adaptive spatio-directional hybrid data structure, referred to as SD-tree, for storing and sampling incident radiance. The SD-tree consists of an upper part---a binary tree that partitions the 3D spatial domain of the light field---and a lower part---a quadtree that partitions the 2D directional domain. We further present a principled way to automatically budget training and rendering computations to minimize the variance of the final image. Our method does not require tuning hyperparameters, although we allow limiting the memory footprint of the SD-tree. The aforementioned properties, its ease of implementation, and its stable performance make our method compatible with production environments. We demonstrate the merits of our method on scenes with difficult visibility, detailed geometry, and complex specular-glossy light transport, achieving better performance than previous state-of-the-art algorithms.


Erratum

In the original publication, which is available in the Wiley Online Library, the comparison against the method of Vorba et al. [2014] was inaccurate. We used the authors' publicly available code that was not designed to handle two-sided BRDFs. This limitation surfaced in the KITCHEN scene introducing bias, which we incorrectly attributed to the instability of expectation-maximization used to fit GMMs. Furthermore, the implementation did not parallelize well up to the amount of threads we used in our comparisons (48). After discovering these issues, we worked closely with Sebastian Herholz and Jiri Vorba on fixing them. Unfortunately, the training component of their method still does not scale well beyond 8 threads; the training timings could thus be in theory up to 6 times faster. We updated the results in the authors' version of our paper and supplementary materials and adjusted the wording to emphasize that the differences between the two methods are smaller than reported in the original publications. We also removed the claim of the method by Dahm and Keller [2017] being biased. The authors' version contains all these improvements and is available here.

Downloads

Download Paper
[PDF]
Download Paper
[PDF suppl.]
Download Video
[Video]
Download Paper
[BibTeX]