Repository logo

Infoscience

  • English
  • French
Log In
Logo EPFL, École polytechnique fédérale de Lausanne

Infoscience

  • English
  • French
Log In
  1. Home
  2. Academic and Research Output
  3. Journal articles
  4. Mitsuba 2: A Retargetable Forward and Inverse Renderer
 
research article

Mitsuba 2: A Retargetable Forward and Inverse Renderer

Nimier-David, Merlin  
•
Vicini, Delio  
•
Zeltner, Tizian  
Show more
November 1, 2019
Acm Transactions On Graphics

Modern rendering systems are confronted with a dauntingly large and growing set of requirements: in their pursuit of realism, physically based techniques must increasingly account for intricate properties of light, such as its spectral composition or polarization. To reduce prohibitive rendering times, vectorized renderers exploit coherence via instruction-level parallelism on CPUs and CPUs. Differentiable rendering algorithms propagate derivatives through a simulation to optimize an objective function, e.g., to reconstruct a scene from reference images. Catering to such diverse use cases is challenging and has led to numerous purpose-built systems-partly, because retrofitting features of this complexity onto an existing renderer involves an error-prone and infeasibly intrusive transformation of elementary data structures, interfaces between components, and their implementations (in other words, everything).

We propose Mitsuba 2, a versatile renderer that is intrinsically retargetable to various applications including the ones listed above. Mitsuba 2 is implemented in modern C++ and leverages template metaprogramming to replace types and instrument the control flow of components such as BSDFs, volumes, emitters, and rendering algorithms. At compile time, it automatically transforms arithmetic, data structures, and function dispatch, turning generic algorithms into a variety of efficient implementations without the tedium of manual redesign. Possible transformations include changing the representation of color, generating a "wide" renderer that operates on bundles of light paths, just-in-time compilation to create computational kernels that run on the GPU, and forward/reverse-mode automatic differentiation. Transformations can be chained, which further enriches the space of algorithms derived from a single generic implementation.

We demonstrate the effectiveness and simplicity of our approach on several applications that would be very challenging to create without assistance: a rendering algorithm based on coherent MCMC exploration, a caustic design method for gradient-index optics, and a technique for reconstructing heterogeneous media in the presence of multiple scattering.

  • Details
  • Metrics
Type
research article
DOI
10.1145/3355089.3356498
Web of Science ID

WOS:000498397300052

Author(s)
Nimier-David, Merlin  
Vicini, Delio  
Zeltner, Tizian  
Jakob, Wenzel  
Date Issued

2019-11-01

Publisher

ASSOC COMPUTING MACHINERY

Published in
Acm Transactions On Graphics
Volume

38

Issue

6

Start page

203

Subjects

Computer Science, Software Engineering

•

Computer Science

•

ray tracing

•

global illumination

•

differentiable rendering

•

simd

Editorial or Peer reviewed

REVIEWED

Written at

EPFL

EPFL units
RGL  
Available on Infoscience
December 11, 2019
Use this identifier to reference this record
https://infoscience.epfl.ch/handle/20.500.14299/163911
Logo EPFL, École polytechnique fédérale de Lausanne
  • Contact
  • infoscience@epfl.ch

  • Follow us on Facebook
  • Follow us on Instagram
  • Follow us on LinkedIn
  • Follow us on X
  • Follow us on Youtube
AccessibilityLegal noticePrivacy policyCookie settingsEnd User AgreementGet helpFeedback

Infoscience is a service managed and provided by the Library and IT Services of EPFL. © EPFL, tous droits réservés