Aether: An embedded domain specific sampling language for Monte Carlo rendering
Name
anderson_durand.pdf
Size
8.35 MB
Format
Adobe PDF
Checksum (MD5)
fee937f93e644dda67cb5f568f5d75e6
Author(s) • • •
Anderson, Luke
Li, Tzu-Mao
Lehtinen, Jaakko
Durand, Frederic
Date Issued
July 2017
Journal
ACM Transactions on Graphics
Publisher
Association for Computing Machinery (ACM)
Citation
Anderson, Luke et al. "Aether: An embedded domain specific sampling language for Monte Carlo rendering." ACM Transactions on Graphics 36, 4 (July 2017): 99 © 2017 The Authors
Version
Author's final manuscript
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 difficult 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 difficult.
MIT Department
Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
Terms of Use
Creative Commons Attribution-Noncommercial-Share Alike
Persistent DSpace Link
DOI of Published Version
https://doi.org/10.1145/3072959.3073704