Arnold: A brute-force production path tracer

Iliyan Georgiev, Thiago Ize, Mike Farnsworth, Ramón Montoya-Vozmediano, Alan King, Brecht Van Lommel, Angel Jimenez, Oscar Anson, Shinji Ogaki, Eric Johnston, Adrien Herubel, Declan Russell, Frédéric Servant, Marcos Fajardo
ACM Transactions on Graphics, 2018 (presented at SIGGRAPH 2018)

Arnold is a path tracing renderer used for the production of photo-realistic and art-directed visual effects in feature films (left), commercials (middle), animated films (right), television series, music videos, game cinematics, motion graphics, and others. Gravity ©2013 Warner Bros. Pictures, courtesy of Framestore; Racing Faces ©2016 Opel Motorsport, courtesy of The Mill; Captain Underpants ©2017 DreamWorks Animation.

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},
}