“BRDF importance sampling for polygonal lights” by Peters

  • ©Christoph Peters




    BRDF importance sampling for polygonal lights



    With the advent of real-time ray tracing, there is an increasing interest in GPU-friendly importance sampling techniques. We present such methods to sample convex polygonal lights approximately proportional to diffuse and specular BRDFs times the cosine term. For diffuse surfaces, we sample the polygons proportional to projected solid angle. Our algorithm partitions the polygon suitably and employs inverse function sampling for each part. Inversion of the distribution function is challenging. Using algebraic geometry, we develop a special iterative procedure and an initialization scheme. Together, they achieve high accuracy in all possible situations with only two iterations. Our implementation is numerically stable and fast. For specular BRDFs, this method enables us to sample the polygon proportional to a linearly transformed cosine. We combine these diffuse and specular sampling strategies through novel variants of optimal multiple importance sampling. Our techniques render direct lighting from Lambertian polygonal lights with almost no variance outside of penumbrae and support shadows and textured emission. Additionally, we propose an algorithm for solid angle sampling of polygons. It is faster and more stable than existing methods.


    1. Abdalla G. M. Ahmed and Peter Wonka. 2020. Screen-Space Blue-Noise Diffusion of Monte Carlo Sampling Error via Hierarchical Ordering of Pixels. ACM Trans. Graph. (proc. SIGGRAPH Asia) 39, 6 (2020). Google ScholarDigital Library
    2. James Arvo. 1995. Stratified Sampling of Spherical Triangles. In Proceedings of the 22nd Annual Conference on Computer Graphics and Interactive Techniques (SIGGRAPH ’95). ACM, 437–438. Google ScholarDigital Library
    3. James Arvo. 2001. Stratified sampling of 2-manifolds. In State of the Art in Monte Carlo Ray Tracing for Realistic Image Synthesis (SIGGRAPH 2001 Course Notes). ACM.Google Scholar
    4. Laurent Belcour, Guofu Xie, Christophe Hery, Mark Meyer, Wojciech Jarosz, and Derek Nowrouzezahrai. 2018. Integrating Clipped Spherical Harmonics Expansions. ACM Trans. Graph. 37, 2, Article 19 (2018). Google ScholarDigital Library
    5. Benedikt Bitterli, Jan Novák, and Wojciech Jarosz. 2015. Portal-Masked Environment Map Sampling. Computer Graphics Forum (proc. EGSR) 34, 4 (2015). Google ScholarCross Ref
    6. Benedikt Bitterli, Chris Wyman, Matt Pharr, Peter Shirley, Aaron Lefohn, and Wojciech Jarosz. 2020. Spatiotemporal Reservoir Resampling for Real-Time Ray Tracing with Dynamic Direct Lighting. ACM Trans. Graph. (proc. SIGGRAPH) 39, 4, Article 148 (2020). Google ScholarDigital Library
    7. James F. Blinn. 2006. How to solve a quadratic equation. Part 2. IEEE Computer Graphics and Applications 26, 2 (2006), 82–87. Google ScholarDigital Library
    8. Christopher A. Burns and Warren A. Hunt. 2013. The Visibility Buffer: A Cache-Friendly Approach to Deferred Shading. Journal of Computer Graphics Techniques (JCGT) 2, 2 (2013), 55–69. http://jcgt.org/published/0002/02/04/Google Scholar
    9. Fernando de Goes, Katherine Breeden, Victor Ostromoukhov, and Mathieu Desbrun. 2012. Blue Noise through Optimal Transport. ACM Trans. Graph. (proc. SIGGRAPH Asia) 31, 6, Article 171 (2012). Google ScholarDigital Library
    10. Zhao Dong, Bruce Walter, Steve Marschner, and Donald P. Greenberg. 2015. Predicting Appearance from Measured Microgeometry of Metal Surfaces. ACM Trans. Graph. 35, 1 (2015). Google ScholarDigital Library
    11. Jonathan Dupuy, Eric Heitz, and Laurent Belcour. 2017. A Spherical Cap Preserving Parameterization for Spherical Distributions. ACM Trans. Graph. (proc. SIGGRAPH) 36, 4, Article 139 (2017). Google ScholarDigital Library
    12. Manuel N. Gamito. 2016. Solid Angle Sampling of Disk and Cylinder Lights. Computer Graphics Forum (proc. EGSR) 35, 4 (2016). Google ScholarCross Ref
    13. Pascal Grittmann, Iliyan Georgiev, Philipp Slusallek, and Jaroslav Křivánek. 2019. Variance-Aware Multiple Importance Sampling. ACM Trans. Graph. (proc. SIGGRAPH Asia) 38, 6, Article 152 (2019). Google ScholarDigital Library
    14. Ibón Guillén, Carlos Ureña, Alan King, Marcos Fajardo, Iliyan Georgiev, Jorge López-Moreno, and Adrián Jarabo. 2017. Area-Preserving Parameterizations for Spherical Ellipses. Computer Graphics Forum (proc. EGSR) 36, 4 (2017). Google ScholarDigital Library
    15. David Hart, Matt Pharr, Thomas Müller, Ward Lopes, Morgan McGuire, and Peter Shirley. 2020. Practical Product Sampling by Fitting and Composing Warps. Computer Graphics Forum (proc. EGSR) 39, 4 (2020). Google ScholarCross Ref
    16. Eric Heitz. 2020. Can’t Invert the CDF? The Triangle-Cut Parameterization of the Region under the Curve. Computer Graphics Forum (proc. EGSR) 39, 4 (2020). Google ScholarCross Ref
    17. Eric Heitz and Eugene d’Eon. 2014. Importance Sampling Microfacet-Based BSDFs using the Distribution of Visible Normals. Computer Graphics Forum (proc. EGSR) 33, 4 (2014), 103–112. Google ScholarDigital Library
    18. Eric Heitz, Jonathan Dupuy, Stephen Hill, and David Neubelt. 2016. Real-time Polygonal-light Shading with Linearly Transformed Cosines. ACM Trans. Graph. (proc. SIGGRAPH) 35, 4, Article 41 (2016). Google ScholarDigital Library
    19. Eric Heitz and Stephen Hill. 2017a. Linear-light shading with linearly transformed cosines. In GPU Zen: Advanced Rendering Techniques. Black Cat Publishing Inc., 137–162. https://hal.archives-ouvertes.fr/hal-02155101Google Scholar
    20. Eric Heitz and Stephen Hill. 2017b. Physically Based Shading in Theory and Practice: Real-Time Line and Disk Light Shading. In ACM SIGGRAPH 2017 Courses. ACM, Article 7. Google ScholarDigital Library
    21. Eric Heitz, Stephen Hill, and Morgan McGuire. 2018. Combining Analytic Direct Illumination and Stochastic Shadows. In Proceedings of the ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games (short paper) (I3D ’18). ACM, Article 2. Google ScholarDigital Library
    22. Claude-Pierre Jeannerod, Nicolas Louvet, and Jean-Michel Muller. 2013. Further analysis of Kahan’s algorithm for the accurate computation of 2×2 determinants. Math. Comp. 82, 284 (2013). Google ScholarCross Ref
    23. Ondřej Karlík, Martin Šik, Petr Vévoda, Tomáš Skřivan, and Jaroslav Křivánek. 2019. MIS Compensation: Optimizing Sampling Techniques in Multiple Importance Sampling. ACM Trans. Graph. (proc. SIGGRAPH Asia) 38, 6, Article 151 (2019). Google ScholarDigital Library
    24. Ivo Kondapaneni, Petr Vevoda, Pascal Grittmann, Tomáš Skřivan, Philipp Slusallek, and Jaroslav Křivánek. 2019. Optimal Multiple Importance Sampling. ACM Trans. Graph. (proc. SIGGRAPH) 38, 4, Article 37 (2019). Google ScholarDigital Library
    25. Sébastien Lagarde and Charles de Rousiers. 2014. Physically Based Shading in Theory and Practice: Moving Frostbite to PBR. In ACM SIGGRAPH 2014 Courses. ACM, Article 23. Google ScholarDigital Library
    26. Tzu-Mao Li, Miika Aittala, Frédo Durand, and Jaakko Lehtinen. 2018. Differentiable Monte Carlo Ray Tracing through Edge Sampling. ACM Trans. Graph. (proc. SIGGRAPH Asia) 37, 6, Article 222 (2018). Google ScholarDigital Library
    27. Guillaume Loubet, Tizian Zeltner, Nicolas Holzschuch, and Wenzel Jakob. 2020. Slope-Space Integrals for Specular Next Event Estimation. ACM Trans. Graph. (proc. SIGGRAPH Asia) 39, 6, Article 239 (2020). https://doi.org/0.1145/3414685.3417811Google Scholar
    28. Christian Luksch, Lukas Prost, and Michael Wimmer. 2020. Real-Time Approximation of Photometric Polygonal Lights. Proc. ACM Comput. Graph. Interact. Tech. (proc. i3D) 3, 1, Article 4 (2020). Google ScholarDigital Library
    29. Pierre Moreau, Matt Pharr, and Petrik Clarberg. 2019. Dynamic Many-Light Sampling for Real-Time Ray Tracing. In High-Performance Graphics – Short Papers. Eurographics. Google ScholarDigital Library
    30. J. A. Nelder and R. Mead. 1965. A Simplex Method for Function Minimization. Comput. J. 7, 4 (1965), 308–313. Google ScholarCross Ref
    31. Christoph Peters and Carsten Dachsbacher. 2019. Sampling Projected Spherical Caps in Real Time. Proc. ACM Comput. Graph. Interact. Tech. (proc. i3D) 2, 1, Article 1 (2019). Google ScholarDigital Library
    32. Matt Pharr, Wenzel Jakob, and Greg Humphreys. 2016. Physically Based Rendering, 3rd Edition. Morgan Kaufmann. http://www.pbr-book.orgGoogle Scholar
    33. Justin Talbot, David Cline, and Parris Egbert. 2005. Importance resampling for global illumination. In EGSR 2005. Google ScholarCross Ref
    34. Greg Turk. 1992. Generating random points in triangles. In Graphics Gems, Andrew S. Glassner (Ed.). Academic Press, 24–28.Google Scholar
    35. Carlos Ureña. 2000. Computation of Irradiance from Triangles by Adaptive Sampling. Computer Graphics Forum 19, 2 (2000). Google ScholarCross Ref
    36. Carlos Ureña, Marcos Fajardo, and Alan King. 2013. An Area-Preserving Parametrization for Spherical Rectangles. Computer Graphics Forum (proc. EGSR) 36, 4 (2013). Google ScholarDigital Library
    37. Carlos Ureña and Iliyan Georgiev. 2018. Stratified Sampling of Projected Spherical Caps. Computer Graphics Forum (proc. EGSR) 37, 4 (2018). Google ScholarCross Ref
    38. Adriaan van Oosterom and Jan Strackee. 1983. The Solid Angle of a Plane Triangle. IEEE Transactions on Biomedical Engineering 30, 2 (1983), 125–126. Google ScholarCross Ref
    39. Eric Veach and Leonidas J. Guibas. 1995. Optimally Combining Sampling Techniques for Monte Carlo Rendering. In Proceedings of the 22nd Annual Conference on Computer Graphics and Interactive Techniques (SIGGRAPH ’95). ACM, 419–428. Google ScholarDigital Library
    40. Changyaw Wang. 1992. Physically correct direct lighting for distribution ray tracing. In Graphics Gems III. Academic Press Professional, 307–313.Google Scholar
    41. Jingwen Wang and Ravi Ramamoorthi. 2018. Analytic Spherical Harmonic Coefficients for Polygonal Area Lights. ACM Trans. Graph. (proc. SIGGRAPH) 37, 4, Article 54 (2018). Google ScholarDigital Library
    42. Rex West, Iliyan Georgiev, Adrien Gruson, and Toshiya Hachisuka. 2020. Continuous Multiple Importance Sampling. ACM Trans. Graph. (proc. SIGGRAPH) 39, 4, Article 136 (2020). Google ScholarDigital Library

ACM Digital Library Publication: