Skip to Main content Skip to Navigation
Journal articles

Aether: An Embedded Domain Specific Sampling Language for Monte Carlo Rendering

Abstract : Implementing Monte Carlo integration requires significant domain expertise. While simple samplers, such as unidirectional path tracing, are relatively forgiving, more complex algorithms, such as bidirectional path tracing or Metropolis methods, are notoriously dificult to implement correctly. We propose Aether, an embedded domain specific language for Monte Carlo integration , which offers primitives for writing concise and correct-by-construction sampling and probability code. The user is tasked with writing sampling code, while our compiler automatically generates the code necessary for evaluating PDFs as well as the book keeping and combination of multiple sampling strategies. Our language focuses on ease of implementation for rapid exploration, at the cost of run time performance. We demonstrate the effectiveness of the language by implementing several challenging rendering algorithms as well as a new algorithm, which would otherwise be prohibitively diifficult.
Document type :
Journal articles
Complete list of metadata

Cited literature [30 references]  Display  Hide  Download

https://hal.inria.fr/hal-01676191
Contributor : Team Reves <>
Submitted on : Friday, January 5, 2018 - 2:36:08 PM
Last modification on : Wednesday, January 6, 2021 - 4:10:05 PM
Long-term archiving on: : Saturday, May 5, 2018 - 4:59:26 AM

File

9e1a8f779b8c6ca6b6160d8cf91444...
Files produced by the author(s)

Identifiers

Collections

Citation

Luke Anderson, Tzu-Mao Li, Jaakko Lehtinen, Frédo Durand. Aether: An Embedded Domain Specific Sampling Language for Monte Carlo Rendering. ACM Transactions on Graphics, Association for Computing Machinery, 2017, 36 (4), pp.1 - 16. ⟨10.1145/3072959.3073704⟩. ⟨hal-01676191⟩

Share

Metrics

Record views

253

Files downloads

590