Specular manifold sampling for rendering high-frequency caustics and glints
Abstract
Scattering from specular surfaces produces complex optical effects that are frequently encountered in realistic scenes: intricate caustics due to focused reflection, multiple refraction, and high-frequency glints from specular microstructure. Yet, despite their importance and considerable research to this end, sampling of light paths that cause these effects remains a formidable challenge.
In this article, we propose a surprisingly simple and general sampling strategy for specular light paths including the above examples, unifying the previously disjoint areas of caustic and glint rendering into a single framework. Given two path vertices, our algorithm stochastically finds a specular subpath connecting the endpoints. In contrast to prior work, our method supports high-frequency normal- or displacement-mapped geometry, samples specular-diffuse-specular (SDS) paths, and is compatible with standard Monte Carlo methods including unidirectional path tracing. Both unbiased and biased variants of our approach can be constructed, the latter often significantly reducing variance, which may be appealing in applied settings (e.g. visual effects). We demonstrate our method on a range of challenging scenes and evaluate it against state-of-the-art methods for rendering caustics and glints.
Downloads and links
- paper – revision 3 (17 Jun 2021) (PDF, 30 MB)
- supplemental video (MP4, 145 MB)
- fast-forward video (MP4, 11 MB)
- presentation video (MP4, 197 MB)
- citation (BIB)
- code – Mitsuba 2 implementation
Media
Supplemental video
Fast-forward video
Presentation video
BibTeX reference
@article{Zeltner:2020:SpecularManifolds, author = {Tizian Zeltner and Iliyan Georgiev and Wenzel Jakob}, title = {Specular Manifold Sampling for Rendering High-Frequency Caustics and Glints}, journal = {ACM Transactions on Graphics (Proceedings of SIGGRAPH)}, volume = {39}, number = {4}, year = {2020}, month = jul, keywords = {specular light paths, SDS paths, caustics, glints}, doi = {10.1145/3386569.3392408} }