Nothing Special   »   [go: up one dir, main page]

skip to main content
research-article

Arnold: A Brute-Force Production Path Tracer

Published: 01 August 2018 Publication History

Abstract

Arnold is a physically based renderer for feature-length animation and visual effects. Conceived in an era of complex multi-pass rasterization-based workflows struggling to keep up with growing demands for complexity and realism, Arnold was created to take on the challenge of making the simple and elegant approach of brute-force Monte Carlo path tracing practical for production rendering. Achieving this required building a robust piece of ray-tracing software that can ingest large amounts of geometry with detailed shading and lighting and produce images with high fidelity, while scaling well with the available memory and processing power.
Arnold’s guiding principles are to expose as few controls as possible, provide rapid feedback to artists, and adapt to various production workflows. In this article, we describe its architecture with a focus on the design and implementation choices made during its evolutionary development to meet the aforementioned requirements and goals. Arnold’s workhorse is a unidirectional path tracer that avoids the use of hard-to-manage and artifact-prone caching and sits on top of a ray-tracing engine optimized to shoot and shade billions of spatially incoherent rays throughout a scene. A comprehensive API provides the means to configure and extend the system’s functionality, to describe a scene, render it, and save the results.

References

[1]
Attila T. Áfra, Carsten Benthin, Ingo Wald, and Jacob Munkberg. 2016. Local shading coherence extraction for SIMD-efficient path tracing on CPUs. In Proceedings of the Conference on High Performance Graphics. 119--128.
[2]
James Arvo and David Kirk. 1990. Particle transport and image synthesis. SIGGRAPH Comput. Graph. 24, 4 (1990), 63--66.
[3]
Laurent Belcour, Ling-Qi Yan, Ravi Ramamoorthi, and Derek Nowrouzezahrai. 2017. Antialiasing complex global illumination effects in path-space. ACM Trans. Graph. 36, 1 (2017), 9:1--9:13.
[4]
Solomon Boulos, Dave Edwards, J. Dylan Lacewell, Joe Kniss, Jan Kautz, Peter Shirley, and Ingo Wald. 2007. Packet-based whitted and distribution ray tracing. In Proceedings of Graphics Interface 2007. 177--184.
[5]
Brian Budge, Tony Bernardin, Jeff A. Stuart, Shubhabrata Sengupta, Kenneth I. Joy, and John D. Owens. 2009. Out-of-core data management for path tracing on hybrid resources. Comput. Graph. Forum 28, 2 (2009), 385--396.
[6]
Per H. Christensen and Brent Burley. 2015. Approximate Reflectance Profiles for Efficient Subsurface Scattering. Pixar Technical Memo #15.04. Pixar.
[7]
P. H. Christensen, J. Fong, D. M. Laur, and D. Batali. 2006. Ray tracing for the movie Cars. In Proceedings of the IEEE Symposium on Interactive Ray Tracing. 1--6.
[8]
Per H. Christensen, David M. Laur, Julia Fong, Wayne L. Wooten, and Dana Batali. 2003. Ray differentials and multiresolution geometry caching for distribution ray tracing in complex scenes. Comput. Graph. Forum 22, 3 (2003), 543--552.
[9]
Alejandro Conty and Christopher Kulla. 2017. Importance sampling of many lights with adaptive tree splitting. In Proceedings of the ACM SIGGRAPH 2017 Talks. 33:1--33:2.
[10]
Robert L. Cook, Loren Carpenter, and Edwin Catmull. 1987. The Reyes image rendering architecture. SIGGRAPH Comput. Graph. 21, 4 (1987), 95--102.
[11]
Robert L. Cook, John Halstead, Maxwell Planck, and David Ryu. 2007. Stochastic simplification of aggregate detail. ACM Trans. Graph. 26, 3 (2007), Article 79.
[12]
R. Cranley and T. N. L. Patterson. 1976. Randomization of number theoretic methods for multiple integration. SIAM J. Numer. Anal. 13, 6 (1976), 904--914.
[13]
Eugene d’Eon, Guillaume Francois, Martin Hill, Joe Letteri, and Jean-Marie Aubry. 2011. An energy-conserving hair reflectance model. Comput. Graph. Forum 30, 4 (2011), 1181--1187.
[14]
Haarm-Pieter Duiker, Alexander Forsythe, Scott Dyer, Ray Feeney, Will McCown, Jim Houston, Andy Maltz, and Doug Walker. 2015. ACEScg: A common color encoding for visual effects applications. In Proceedings of the 2015 Symposium on Digital Production. 53.
[15]
Christian Eisenacher, Gregory Nichols, Andrew Selle, and Brent Burley. 2013. Sorted deferred shading for production path tracing. Comput. Graph. Forum 32, 4 (2013), 125--132.
[16]
Thomas Engelhardt and Carsten Dachsbacher. 2008. Octahedron environment maps. In Proceedings of the Vision, Modeling, and Visualization Conference. 383--388.
[17]
M. D. Fairchild. 2005. Color Appearance Models. Wiley.
[18]
Iliyan Georgiev and Marcos Fajardo. 2016. Blue-noise dithered sampling. In Proceedings of the ACM SIGGRAPH 2016 Talks. 35:1--35:1.
[19]
Iliyan Georgiev, Jaroslav Křivánek, Tomáš Davidovič, and Philipp Slusallek. 2012. Light transport simulation with vertex connection and merging. ACM Trans. Graph. 31, 6 (2012), 192:1--192:10.
[20]
Larry Gritz, Clifford Stein, Chris Kulla, and Alejandro Conty. 2010. Open Shading Language. In Proceedings of the ACM SIGGRAPH 2010 Talks. 33:1.
[21]
Ibón Guillén, Carlos Ureña, Alan King, Marcos Fajardo, Iliyan Georgiev, Jorge López-Moreno, and Adrian Jarabo. 2017. Area-preserving parameterizations for spherical ellipses. Comput. Graph. Forum 36, 4 (2017), 179--187.
[22]
Toshiya Hachisuka, Anton S. Kaplanyan, and Carsten Dachsbacher. 2014. Multiplexed metropolis light transport. ACM Trans. Graph. 33, 4 (2014), 100:1--100:10.
[23]
Toshiya Hachisuka, Jacopo Pantaleoni, and Henrik Wann Jensen. 2012. A path space extension for robust light transport simulation. ACM Trans. Graph. 31, 6 (2012), 191:1--191:10.
[24]
Paul S. Heckbert. 1990. Adaptive radiosity textures for bidirectional ray tracing. SIGGRAPH Comput. Graph. 24, 4 (1990), 145--154.
[25]
Homan Igehy. 1999. Tracing ray differentials. In Proceedings of SIGGRAPH 1999. 179--186.
[26]
Thiago Ize. 2013. Robust BVH ray traversal. J. Comput. Graph. Techn. 2, 2 (2013), 12--27.
[27]
Wenzel Jakob and Steve Marschner. 2012. Manifold exploration: A Markov chain Monte Carlo technique for rendering scenes with difficult specular transport. ACM Trans. Graph. 31, 4 (2012), 58:1--58:13.
[28]
Henrik Wann Jensen. 2001. Realistic Image Synthesis Using Photon Mapping. A. K. Peters, Ltd.
[29]
Henrik Wann Jensen and Juan Buhler. 2002. A rapid hierarchical rendering technique for translucent materials. ACM Trans. Graph. 21, 3 (2002), 576--581.
[30]
James T. Kajiya. 1986. The rendering equation. SIGGRAPH Comput. Graph. 20, 4 (1986), 143--150.
[31]
James T. Kajiya and Timothy L. Kay. 1989. Rendering fur with three dimensional textures. SIGGRAPH Comput. Graph. 23, 3 (1989), 271--280.
[32]
Anton S. Kaplanyan and Carsten Dachsbacher. 2013. Path space regularization for holistic and robust light transport. Comput. Graph. Forum 32, 2 (2013), 63--72.
[33]
Andrew Kensler. 2013. Correlated Multi-Jittered Sampling. Technical Memo #13-01. Pixar.
[34]
Doyub Kim and Hyeong-Seok Ko. 2007. Eulerian motion blur. In Proceedings of the 3rd Eurographics Conference on Natural Phenomena. 39--46.
[35]
Alan King, Christopher D. Kulla, Alejandro Conty, and Marcos Fajardo. 2013. BSSRDF importance sampling. In Proceedings of the ACM SIGGRAPH 2013 Talks. 48:1.
[36]
Christopher Kulla and Marcos Fajardo. 2012. Importance sampling techniques for path tracing in participating media. Comput. Graph. Forum 31, 4 (2012), 1519--1528.
[37]
Peter Kutz, Ralf Habel, Yining Karl Li, and Jan Novák. 2017. Spectral and decomposition tracking for rendering heterogeneous volumes. ACM Trans. Graph. 36, 4 (2017), 111:1--111:16.
[38]
Anders Langlands. 2015. alShaders. Retrieved from http://www.anderslanglands.com.
[39]
Mark Lee, Brian Green, Feng Xie, and Eric Tabellion. 2017. Vectorized production path tracing. In Proceedings of the Conference on High Performance Graphics. 10:1--10:11.
[40]
Tom Lokovic and Eric Veach. 2000. Deep shadow maps. In Proceedings of SIGGRAPH 2000. 385--392.
[41]
Stephen R. Marschner, Henrik Wann Jensen, Mike Cammarano, Steve Worley, and Pat Hanrahan. 2003. Light scattering from human hair fibers. ACM Trans. Graph. 22, 3 (2003), 780--791.
[42]
Johannes Meng, Florian Simon, Johannes Hanika, and Carsten Dachsbacher. 2015. Physically meaningful rendering using tristimulus colours. In Proceedings of the 26th Eurographics Symposium on Rendering. 31--40.
[43]
Thomas Müller, Markus Gross, and Jan Novák. 2017. Practical path guiding for efficient light-transport simulation. Comput. Graph. Forum 36, 4 (2017), 91--100.
[44]
Ken Museth. 2013. VDB: High-resolution sparse volumes with dynamic topology. ACM Trans. Graph. 32, 3 (2013), 27:1--27:22.
[45]
Koji Nakamaru and Yoshio Ohno. 2002. Ray tracing for curves primitive. J. WSCG 10, 1--2 (2002).
[46]
OIIO. 2008. OpenImageIO: A Library for Reading and Writing Images. Retrieved from http://openimageio.org.
[47]
OpenColorIO. 2010. Home Page. Retrieved from http://opencolorio.org.
[48]
OpenEXR. 2014. Home Page. Retrieved from http://www.openexr.com.
[49]
OpenSubdiv. 2017. Home Page. Retrieved from http://graphics.pixar.com/opensubdiv.
[50]
Steven G. Parker, William Martin, Peter-Pike J. Sloan, Peter Shirley, Brian E. Smits, and Charles D. Hansen. 1999. Interactive ray tracing. In Proceedings of the Conference on Interactive 3D Graphics. 119--126.
[51]
K. Perlin and E. M. Hoffert. 1989. Hypertexture. SIGGRAPH Comput. Graph. 23, 3 (1989), 253--262.
[52]
Matt Pharr. 2017. The Implementation of a Scalable Texture Cache. Retrieved from http://www.pbrt.org/texcache.pdf.
[53]
Matt Pharr, Wenzel Jakob, and Greg Humphreys. 2016. Physically Based Rendering: From Theory to Implementation (3rd ed.). Morgan Kaufmann.
[54]
Matt Pharr, Craig Kolb, Reid Gershbein, and Pat Hanrahan. 1997. Rendering complex scenes with memory-coherent ray tracing. In Proceedings of SIGGRAPH 1997. 101--108.
[55]
Stefan Popov, Iliyan Georgiev, Rossen Dimov, and Philipp Slusallek. 2009. Object partitioning considered harmful: Space subdivision for BVHs. In Proceedings of the Conference on High Performance Graphics. 15--22.
[56]
Stefan Popov, Johannes Günther, Hans-Peter Seidel, and Philipp Slusallek. 2006. Experiences with streaming construction of SAH KD-trees. In Proceedings of the 2006 IEEE Symposium on Interactive Ray Tracing. 89--94.
[57]
Matthias Raab, Daniel Seibert, and Alexander Keller. 2008. Unbiased global illumination with participating media. In Monte Carlo and Quasi-Monte Carlo Methods 2006. Springer, 591--606.
[58]
Bernhard Reinert, Tobias Ritschel, Hans-Peter Seidel, and Iliyan Georgiev. 2015. Projective blue-noise sampling. Comput. Graph. Forum 35, 1 (2015), 285--295.
[59]
Alexander Reshetov, Alexei Soupikov, and Jim Hurley. 2005. Multi-level ray tracing algorithm. ACM Trans. Graph. 24, 3 (2005), 1176--1185.
[60]
Myungbae Son and Sung-Eui Yoon. 2017. Timeline scheduling for out-of-core ray batching. In Proceedings of the Conference on High Performance Graphics. 11:1--11:10.
[61]
Martin Stich, Heiko Friedrich, and Andreas Dietrich. 2009. Spatial splits in bounding volume hierarchies. In Proceedings of the Conference on High Performance Graphics. 7--13.
[62]
M. Sugawara, S. Y. Choi, and D. Wood. 2014. Ultra-high-definition television (Rec. ITU-R BT.2020): A generational leap in the evolution of television. IEEE Signal Process. Mag. 31, 3 (2014), 170--174.
[63]
Frank Suykens and Yves Willems. 2001. Path differentials and applications. In Proceedings of the 12th Eurographics Workshop on Rendering Techniques. 257--268.
[64]
Carlos Ureña, Marcos Fajardo, and Alan King. 2013. An area-preserving parametrization for spherical rectangles. Comput. Graph. Forum 32, 4 (2013), 59--66.
[65]
Eric Veach and Leonidas J. Guibas. 1995. Optimally combining sampling techniques for Monte Carlo rendering. In Proceedings of SIGGRAPH 1995. 419--428.
[66]
Ingo Wald, Carsten Benthin, and Solomon Boulos. 2008. Getting rid of packets—Efficient SIMD single-ray traversal using multi-branching BVHs. In Proceedings of the IEEE/Eurographics Symposium on Interactive Ray Tracing. 49--58.
[67]
Ingo Wald, Solomon Boulos, and Peter Shirley. 2007. Ray tracing deformable scenes using dynamic bounding volume hierarchies. ACM Trans. Graph. 26, 1 (2007), 1--18.
[68]
Ingo Wald, Thiago Ize, Andrew Kensler, Aaron Knoll, and Steven G. Parker. 2006. Ray tracing animated scenes using coherent grid traversal. ACM Trans. Graph. 25, 3 (2006), 485--493.
[69]
Greg Ward and Elena Eydelberg-Vileshin. 2002. Picture perfect RGB rendering using spectral prefiltering and sharp color primaries. In Proceedings of the Eurographics Workshop on Rendering. 117--124.
[70]
Gregory J. Ward, Francis M. Rubinstein, and Robert D. Clear. 1988. A ray tracing solution for diffuse interreflection. SIGGRAPH Comput. Graph. 22, 4 (1988), 85--92.
[71]
Magnus Wrenninge. 2016. Efficient rendering of volumetric motion blur using temporally unstructured volumes. J. Comput. Graph. Techn. 5, 1 (2016), 1--34.
[72]
Magnus Wrenninge, Ryusuke Villemin, and Christophe Hery. 2017. Path Traced Subsurface Scattering Using Anisotropic Phase Functions and Non-Exponential Free Flights. Technical Memo #17-07. Pixar.
[73]
Arno Zinke and Andreas Weber. 2007. Light scattering from filaments. IEEE Trans. Visual. Comput. Graph. 13, 2 (2007), 342--356.
[74]
Arno Zinke, Cem Yuksel, Andreas Weber, and John Keyser. 2008. Dual scattering approximation for fast multiple scattering in hair. ACM Trans. Graph. 27, 3 (2008), 32:1--32:10.

Cited By

View all
  • (2024)Cache Points for Production-Scale Occlusion-Aware Many-Lights Sampling and Volumetric ScatteringProceedings of the 2024 Digital Production Symposium10.1145/3665320.3670993(1-19)Online publication date: 24-Jul-2024
  • (2024)Spear: Across the Streaming Multiprocessors: Porting a Production Renderer to the GPUProceedings of the 2024 Digital Production Symposium10.1145/3665320.3670988(1-9)Online publication date: 24-Jul-2024
  • (2024)Interactive Multi-GPU Light Field Path Tracing Using Multi-Source Spatial ReprojectionProceedings of the 30th ACM Symposium on Virtual Reality Software and Technology10.1145/3641825.3687710(1-11)Online publication date: 9-Oct-2024
  • Show More Cited By

Index Terms

  1. Arnold: A Brute-Force Production Path Tracer

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Transactions on Graphics
    ACM Transactions on Graphics  Volume 37, Issue 3
    Special Issue On Production Rendering and Regular Papers
    June 2018
    198 pages
    ISSN:0730-0301
    EISSN:1557-7368
    DOI:10.1145/3243123
    Issue’s Table of Contents
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 01 August 2018
    Accepted: 01 January 2018
    Revised: 01 January 2018
    Received: 01 December 2017
    Published in TOG Volume 37, Issue 3

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Monte Carlo
    2. Rendering systems
    3. global illumination
    4. path tracing
    5. production rendering
    6. ray tracing

    Qualifiers

    • Research-article
    • Research
    • Refereed

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)90
    • Downloads (Last 6 weeks)20
    Reflects downloads up to 23 Nov 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Cache Points for Production-Scale Occlusion-Aware Many-Lights Sampling and Volumetric ScatteringProceedings of the 2024 Digital Production Symposium10.1145/3665320.3670993(1-19)Online publication date: 24-Jul-2024
    • (2024)Spear: Across the Streaming Multiprocessors: Porting a Production Renderer to the GPUProceedings of the 2024 Digital Production Symposium10.1145/3665320.3670988(1-9)Online publication date: 24-Jul-2024
    • (2024)Interactive Multi-GPU Light Field Path Tracing Using Multi-Source Spatial ReprojectionProceedings of the 30th ACM Symposium on Virtual Reality Software and Technology10.1145/3641825.3687710(1-11)Online publication date: 9-Oct-2024
    • (2024) Extending the use of normal hemispherical transmittance ( ) measurements by modeling 3D multiple scattering radiative transfer Journal of Quantitative Spectroscopy and Radiative Transfer10.1016/j.jqsrt.2024.109124327(109124)Online publication date: Nov-2024
    • (2024)Unifying radiative transfer models in computer graphics and remote sensing, Part I: A surveyJournal of Quantitative Spectroscopy and Radiative Transfer10.1016/j.jqsrt.2023.108847314(108847)Online publication date: Feb-2024
    • (2023)Towards Garment Sewing Pattern Reconstruction from a Single ImageACM Transactions on Graphics10.1145/361831942:6(1-15)Online publication date: 5-Dec-2023
    • (2023)Nonlinear Ray Tracing for Displacement and Shell MappingSIGGRAPH Asia 2023 Conference Papers10.1145/3610548.3618199(1-10)Online publication date: 10-Dec-2023
    • (2023)Importance-Based Ray Strategies for Dynamic Diffuse Global IlluminationProceedings of the ACM on Computer Graphics and Interactive Techniques10.1145/35855006:1(1-20)Online publication date: 16-May-2023
    • (2023)Neural Photometry-Guided Visual Attribute TransferIEEE Transactions on Visualization and Computer Graphics10.1109/TVCG.2021.313308129:3(1818-1830)Online publication date: 1-Mar-2023
    • (2023)Enhanced Direct Lighting Using Visibility-Aware Light SamplingAdvances in Computer Graphics10.1007/978-3-031-50072-5_15(187-198)Online publication date: 28-Aug-2023
    • Show More Cited By

    View Options

    Login options

    Full Access

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    HTML Format

    View this article in HTML Format.

    HTML Format

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media