Arnold: A brute-force production path tracer
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 paper 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.
Downloads and links
BibTeX reference
@article{Georgiev:2018:Arnold, author = {Georgiev, Iliyan and Ize, Thiago and Farnsworth, Mike and Montoya-Vozmediano, Ram\'{o}n and King, Alan and Lommel, Brecht Van and Jimenez, Angel and Anson, Oscar and Ogaki, Shinji and Johnston, Eric and Herubel, Adrien and Russell, Declan and Servant, Fr{\'e}d{\'e}ric and Fajardo, Marcos}, title = {Arnold: A Brute-Force Production Path Tracer}, journal = {ACM Trans. Graph.}, issue_date = {July 2018}, volume = {37}, number = {3}, month = aug, year = {2018}, issn = {0730-0301}, pages = {32:1--32:12}, articleno = {32}, numpages = {12}, url = {http://doi.acm.org/10.1145/3182160}, doi = {10.1145/3182160}, acmid = {3182160}, publisher = {ACM}, address = {New York, NY, USA}, keywords = {Monte Carlo, Rendering systems, global illumination, path tracing, production rendering, ray tracing}, }