jan novák

Monte Carlo Methods for Volumetric Light Transport Simulation

Jan Novák, Iliyan Georgiev, Johannes Hanika, Wojciech Jarosz

Computer Graphics Forum (presented at EUROGRAPHICS 2018 - State of the Art Rep.), vol. 37, no. 2

Monte Carlo Methods for Volumetric Light Transport Simulation - teaser

Losses and gains of radiance due to absorption (a), scattering (b, c), and emission (d) within a differential volume element.

abstract

The wide adoption of path-tracing algorithms in high-end realistic rendering has stimulated many diverse research initiatives. In this paper we present a coherent survey of methods that utilize Monte Carlo integration for estimating light transport in scenes containing participating media. Our work complements the volume-rendering state-of-the-art report by Cerezo et al. [CPP∗05]; we review publications accumulated since its publication over a decade ago, and include earlier methods that are key for building light transport paths in a stochastic manner. We begin by describing analog and non-analog procedures for freepath sampling and discuss various expected-value, collision, and track-length estimators for computing transmittance. We then review the various rendering algorithms that employ these as building blocks for path sampling. Special attention is devoted to null-collision methods that utilize fictitious matter to handle spatially varying densities; we import two “next-flight” estimators originally developed in nuclear sciences. Whenever possible, we draw connections between image-synthesis techniques and methods from particle physics and neutron transport to provide the reader with a broader context.

downloads

publication

presentation

citation

bibtex

@article{Novak18volumeSTAR,
    author  = {Nov\'ak, Jan and Georgiev, Iliyan and Hanika, Johannes and Jarosz, Wojciech},
    title   = {{M}onte {C}arlo Methods for Volumetric Light Transport Simulation},
    journal = {Computer Graphics Forum (Proceedings of Eurographics - State of the Art Reports)},
    volume  = 37,
    number  = 2,
    month   = may,
    year    = 2018
}