Deep Scattering: Rendering Atmospheric Clouds with
Radiance-Predicting Neural Networks
arXiv:1709.05418v1 [cs.LG] 15 Sep 2017
SIMON KALLWEIT, Disney Research and ETH Zürich
THOMAS MÜLLER, Disney Research and ETH Zürich
BRIAN MCWILLIAMS, Disney Research
MARKUS GROSS, Disney Research and ETH Zürich
JAN NOVÁK, Disney Research
Reference
RPNN (9 min) Reference
RPNN (9 min)
Fig. 1. We synthesize multi-scattered illumination in clouds using deep radiance-predicting neural networks (RPNN). We combine Monte Carlo integration
with data-driven radiance predictions, accurately reproducing edge-darkening effects (left), silverlining (right), and the whiteness of the inner part of the cloud.
We present a technique for efficiently synthesizing images of atmospheric
clouds using a combination of Monte Carlo integration and neural networks. The intricacies of Lorenz-Mie scattering and the high albedo of
cloud-forming aerosols make rendering of clouds—e.g. the characteristic
silverlining and the “whiteness” of the inner body—challenging for methods
based solely on Monte Carlo integration or diffusion theory. We approach
the problem differently. Instead of simulating all light transport during rendering, we pre-learn the spatial and directional distribution of radiant flux
from tens of cloud exemplars. To render a new scene, we sample visible
points of the cloud and, for each, extract a hierarchical 3D descriptor of the
cloud geometry with respect to the shading location and the light source.
The descriptor is input to a deep neural network that predicts the radiance
function for each shading configuration. We make the key observation that
progressively feeding the hierarchical descriptor into the network enhances
the network’s ability to learn faster and predict with higher accuracy while
using fewer coefficients. We also employ a block design with residual connections to further improve performance. A GPU implementation of our
method synthesizes images of clouds that are nearly indistinguishable from
the reference solution within seconds to minutes. Our method thus represents a viable solution for applications such as cloud design and, thanks to
its temporal stability, for high-quality production of animated content.
CCS Concepts: • Computing methodologies → Neural networks; Ray
tracing;
This is the author’s version of the work. It is posted here for your personal use. Not for
redistribution. The definitive Version of Record was published in ACM Transactions
on Graphics.
© 2017 Copyright held by the owner/author(s). Publication rights licensed to Association
for Computing Machinery.
0730-0301/2017/11-ART231 $15.00
https://doi.org/10.1145/3130800.3130880
2017-09-15 17:58 page 1 (pp. 1-11)
ACM Reference format:
Simon Kallweit, Thomas Müller, Brian McWilliams, Markus Gross, and Jan
Novák. 2017. Deep Scattering: Rendering Atmospheric Clouds with RadiancePredicting Neural Networks. ACM Trans. Graph. 36, 4, Article 231 (November 2017), 11 pages.
https://doi.org/10.1145/3130800.3130880
1
INTRODUCTION
Efficient and accurate rendering of high-albedo materials is a challenging problem, especially when the optical properties vary spatially. Heterogeneous densities of aerosols formed into visible structures, e.g. atmospheric clouds, is one such class of materials that
challenge the efficiency of rendering algorithms. The high reflectivity of liquid droplets and frozen crystals produces appearances
dominated by multiple scattering of light, often on the order of
thousands of photon-matter interactions. Even if the discrete nature
is ignored and the cloud is approximated by a continuous volume,
estimating light transport by solving the radiative transfer equation
(RTE) [Chandrasekhar 1960] is computationally intensive.
Many numerical recipes for synthesizing photorealistic images
are based on Monte Carlo (MC) integration. While these techniques
have been successfully applied to volume rendering, and despite
the theory naturally extends to multi-dimensional problems, MC
rendering of atmospheric clouds faces two challenges. Firstly, the
space of paths that transport non-negligible contributions is manydimensional, requiring tremendous amounts of samples to reduce
estimation variance. Secondly, the construction of individual path
ACM Transactions on Graphics, Vol. 36, No. 4, Article 231. Publication date: November 2017.
231:2 •
Simon Kallweit, Thomas Müller, Brian McWilliams, Markus Gross, and Jan Novák
(a) 1 interaction
Render time = 0.017 h
(a) 4 interactions
Render time = 0.89 h
(a) 16 interactions
Render time = 6.5 h
(a) 64 interactions
Render time = 16 h
(a) All interactions
Render time = 34 h
Fig. 2. Multiply-scattered light transport is paramount for synthesis of realistic images of clouds. We show renderings of the same cloud under equal
illumination where up to 1, 4, 16, 64, and arbitrarily many light-matter interactions are considered per light path. Because the albedo of clouds is close to 1,
very long chains of light-matter interactions still carry significant amounts of energy and thus need to be considered, resulting in high render times. For each
configuration we report the render time it takes to converge to the variance of the right-most image.
samples is expensive even with sophisticated techniques for freepath sampling [Kutz et al. 2017; Szirmay-Kalos et al. 2017] and
advanced acceleration data structures [Szirmay-Kalos et al. 2011; Yue
et al. 2010]. Rendering realistic clouds with path-tracing algorithms
thus requires tens of hours of computation to obtain images with
acceptable error; see Figure 2.
While such cost may be acceptable in some scenarios, interactive and throughput-oriented applications, such as asset design
and movie production, require frames to be computed orders of
magnitude faster. These typically employ approximations based on
diffusion theory [Koerner et al. 2014; Stam 1995], density estimation [Elek et al. 2012], or semi-analytic solutions [Bouthors et al.
2008] heavily reducing visual quality in favor of fast rendering. We
similarly trade accuracy for higher speed, but tackle the problem by
synthesizing high-order scattering using neural networks.
Deep neural networks consist of compositions of simple building
blocks that, when combined in the right way, achieve state-of-theart performance in a wide variety of computational domains [LeCun
et al. 2015]. Their application to transport problems is however
still relatively unexplored. We demonstrate that, when designed
carefully, these networks can accurately predict the distribution of
radiance in clouds due to unoccluded distant lighting upon arbitrarily many scattering events.
Since light propagation is a non-local phenomenon, the prediction
speed hinges on the ability to concisely express the cloud geometry
that is relevant to a given shading configuration. To that end, we
employ a hierarchical point stencil that accurately captures the local
neighborhood and compactly approximates remote regions and the
overall bulk of the cloud. We observe that feeding the stencil to the
network all-at-once yields poor results. Instead, we propose to input
the hierarchy progressively, with each block of the network having
direct access to at most one level of the hierarchy. Such design drives
the network to reflect on the multi-scale nature of light transport
and reduces the number of trainable parameters. This is key for
performing many fast predictions needed to render the image.
We compare our method to reference path-traced images and the
state of the art in grid-resolved diffusion theory. Our results are
significantly closer to reference images and render as fast as the
other approximate method.
ACM Transactions on Graphics, Vol. 36, No. 4, Article 231. Publication date: November 2017.
2
RELATED WORK
Monte Carlo Methods. Kajiya and Von Herzen [1984] were the
first to use path tracing for numerically estimating radiative transfer
in volumes [Chandrasekhar 1960]. Their technique was later extended by constructing paths in a bidirectional manner [Lafortune
and Willems 1996], mutating paths using the Metropolis-Hastings
algorithm [Pauly et al. 2000], and importance sampling of low-order
scattering [Georgiev et al. 2013; Kulla and Fajardo 2012]. The efficiency of these algorithms can be increased by reusing computation and correlating estimates as in radiance caching [Jarosz et al.
2008], many-light rendering [Novák et al. 2012; Raab et al. 2008] and
density-estimation-based methods [Jarosz et al. 2011, 2008; Jensen
and Christensen 1998]. Křivánek et al. [2014] formulated a unified theory for these seemingly incompatible approaches, allowing to combine their strengths in a robust estimator. Bitterli and
Jarosz [2017] generalized volumetric density estimation to arbitrarydimensional samples. Nevertheless, even with free paths and transmittance estimates constructed using advanced approaches [Kutz
et al. 2017; Novák et al. 2014; Szirmay-Kalos et al. 2017] operating
on special data structures [Szirmay-Kalos et al. 2011; Yue et al. 2011,
2010], these methods are far from reaching interactive frame rates
when used on the highly scattering materials that we target.
Diffusion Theory. Certain situations permit approximating multiple scattering with the diffusion theory, in graphics pioneered
by Stam [1995] who rendered heterogeneous media by solving a
discretized form of the diffusion equation on a grid. Koerner et al.
[2014] modulate the diffusion coefficient to increase accuracy in
regions with low density and/or high albedo. Several semi-analytic
solutions based on combining transport contributions from two or
more monopoles were developed for fast simulation of subsurface
scattering [d’Eon and Irving 2011; Donner and Jensen 2005; Frisvad
et al. 2014; Jensen et al. 2001]. Unfortunately, none of the diffusion
approaches handle the highly anisotropic scattering in clouds well,
and the appearance stemming from low- and mid-order scattering,
e.g. silverlining, is not reproduced well.
Tabulated Multiple Scattering. The anisotropy can be better preserved when using precomputation-based solutions. Szirmay-Kalos
et al. [2005] trace a number of light paths to build illumination networks and reevaluate the transport on the fly achieving real-time
2017-09-15 17:58 page 2 (pp. 1-11)
Deep Scattering: Rendering Atmospheric Clouds with Radiance-Predicting Neural Networks • 231:3
(a) Isotropic phase function
(b) Henyey-Greenstein, д = 0.857
Equal-time variance = 17.7
Equal-time variance = 698
(c) Lorenz-Mie (LM)
Equal-time variance = 23136
(d) Chopped LM
Equal-time variance = 136
(e) Chopped LM after 1 bounce
Equal-time variance = 144
Fig. 3. Front-lit (top) and back-lit (bottom) cloud from Figure 2 rendered with different phase functions. Isotropic scattering (a) reduces contrast and fails
to synthesize silverlining. The Henyey-Greenstein approximation (b) incorrectly increases contrast (top) and produces a different silverlining effect than
Lorenz-Mie (LM) scattering (c). Chopping the peak (d) leads to lower estimation variance, but also removes the strong silverlining. Using the complete LM
phase function at the first bounce only and then switching to the chopped version provides nearly perfect result and low estimation variance (e).
frame rates. Moon et al. [2007] proposed to tabulate scattered radiance on spherical shells surrounding a directional point emitter
embedded in a granular material. An analogous approach was used
by Lee and O’Sullivan [2007] to handle homogeneous continuous
volumes, and further adapted to heterogeneous media by Müller
et al. [2016]. All these methods are either interactive, or produce
high-fidelity images, but none of them achieve both concurrently.
Specialized Methods for Rendering Clouds. Fast modeling and rendering of clouds was first addressed by Gardner [1985] who used
ellipsoids with spatially varying densities obtained as a superposition of sine waves. Real-time rates can be achieved on graphics
hardware by rasterizing particles [Harris and Lastra 2001], metaballs [Dobashi et al. 2000], or volume slices [Riley et al. 2004] into
billboard textures and projecting them onto the image plane. At
best, these approaches capture only a limited amount of (anisotropic)
scattering; backscattering is often completely ignored. Neglecting
high-order scattering, as proposed by Nishita et al. [1996], leads
to poor results (according to current standards) in optically thick
clouds; see Figure 2.
Bouthors et al. [2008] acknowledge the anisotropy by employing
Lorenz-Mie scattering. We also adopt Lorenz-Mie scattering with
the assumption of spherical scatters; non-spherical scatterers have
been studied by Frisvad et al. [2007].
Bouthors et al. [2008] further propose to precompute solutions for
flat slabs that are then fitted into the cloud geometry achieving realtime frame rates. Instead of slabs, Elek et al. [2012] record photons in
a regular grid where each cell models the angular distribution using
the Henyey-Greenstein (HG) basis. In a follow-up [Elek et al. 2014],
the authors increased the performance by combining the HG basis
with the discrete-ordinates method. Nevertheless, for albedos close
to 1 the approach requires either excessive numbers of iterations
or multiple super-imposed low-resolution grids that tend to blur
high-frequency illumination patterns.
Our goal is to accurately synthesize all-order, anisotropic scattering and accurately capture the appearance of the dense inner
2017-09-15 17:58 page 3 (pp. 1-11)
part and wispy boundaries. We explore a new approach based on
approximating the cloud geometry by a hierarchical descriptor and
predict local illumination using a deep neural network.
Neural Networks. Deep neural networks (see Bengio et al. [2013];
LeCun et al. [2015] for a comprehensive review) are able to efficiently
model complex relationships between input and output variables in
a highly non-linear manner. This data-driven approach has emerged
as a state-of-the-art technology in a wide variety of challenging
problems, e.g. image recognition [He et al. 2016; Simonyan and
Zisserman 2014], machine translation [Wu et al. 2016], or generative
modeling of raw audio and natural images [Oord et al. 2016a,b].
Deep learning has also been successfully applied to problems in
computer graphics. Nalbach et al. [2017] use convolutional neural
networks (CNNs) to synthesize ambient occlusion, illumination,
and other effects in screen space. Bako et al. [2017] and Chaitanya
et al. [2017] employ neural networks for denoising rendered images.
These approaches operate in 2D, using color and feature images as
inputs to the network. Similarly to Chu and Thuerey [2017], who
apply CNNs to fluid simulation, our networks operate in 3D.
Closely related to ours is the work by Ren et al. [2013], who train 2hidden-layer MLPs to predict radiance in a specific region of a scene.
In contrast, our 23-layer MLPs are applicable to an entire spectrum
of atmospheric clouds. We use a hierarchical feature and feed its
levels into the network progressively. While the first provides a
cost-effective extraction of global information, the latter keeps the
number of trainable parameters low facilitating fast predictions.
3
RADIATIVE TRANSFER IN CLOUDS
In this section, we discuss properties of clouds that are key for
synthesizing their appearance correctly (see Figure 3). We then
briefly review the RTE to allow defining the quantity to be predicted
and describing our approach in the following section.
ACM Transactions on Graphics, Vol. 36, No. 4, Article 231. Publication date: November 2017.
90°
231:4 •
3.1
Properties of Clouds
Clouds can be primarily categorized as a cirrus (thin, wispy curls),
a stratus (hazy, featureless sheets), or a cumulus (fluffy heaps). The
last type is the most challenging to render due to its high-frequency
boundary details and the smooth bright appearance of the inner
body stemming from many interactions that light undergoes inside.
The aerosols forming a cloud consist of many small water particles—droplets or ice crystals—the placement and size of which can
be well represented statistically. The radii of droplets in a cumulus
cloud range from 1 to 100 microns with means typically around
5 µ [Weickmann and Kampe 1953]. The droplet-size distribution
function (DSD) has a key impact on the angular distribution of scattered light, and can be well approximated by a gamma function.
Because these droplets absorb little light, long chains of light-matter
interactions are an integral part of the characteristic appearance of
clouds (see Figure 2). Since the scatterers are comparable in size to
the wavelength of visible light, the distribution of scattered light,
represented by phase function p, needs to be derived from Maxwell’s
equations. Lorenz [1890] and Mie [1908] developed solutions for
planar waves interacting with a homogeneous set of spheres. The
resulting phase function exhibits a very strong diffraction peak,
a wide forward-scattering lobe, a back-scattering circular ridge,
and a back-scattering peak; see Figure 4 for an example and the
supplementary material for details.
As shown in Figure 3, the intricate shape of the Lorenz-Mie phase
function produces characteristic visual effects such as silverlining,
fogbow, and glory, which are lost or synthesized inaccurately when
using an isotropic or Henyey-Greenstein approximation. At the
same time, however, using the high-frequency, multi-modal LorenzMie distribution makes it difficult to sample the high-energy, multiscattered transport efficiently; too difficult to render our training
data within reasonable time. We follow the suggestion of Bouthors
et al. [2008] to “chop” the diffraction peak and lower the cloud density according to the fraction of scattered light contained in the peak.
The explicit simulation of near-perfect forward scattering—the main
source of sampling difficulties—is thus removed and accounted for
implicitly by reducing the optical thickness; see the supplementary
material for details.
As shown in Figure 3(d), the chopped Lorenz-Mie reduces estimation variance and produces accurate results in front-lit or side-lit
configurations. However, since the slight angular blurring due to the
diffraction peak is replaced by continuing in the perfectly forward
direction, the very prominent effect of silverlining in backlit configurations is nearly completely lost. Since the silverlining stems from
low-order scattering, we opt to use the full Lorenz-Mie phase function for the first bounce and then switch to the chopped version and
its corresponding optically thinner volume. This preserves the effect
of silverlining and provides sufficient performance for creating a
large set of ground-truth simulations to train our networks.
3.2
135°
Simon Kallweit, Thomas Müller, Brian McWilliams, Markus Gross, and Jan Novák
Radiative Transfer
As in other works, we approximate the discrete aerosol mixture by
a continuous medium, parameterized by a spatially varying extinction coefficient µ t (x), a globally constant albedo α, and an axially
symmetric phase function p(cos θ ). In such a medium, the change
ACM Transactions on Graphics, Vol. 36, No. 4, Article 231. Publication date: November 2017.
45°
Isotropic
HG g=0.857
Lorenz-Mie
Chopped Lorenz-Mie
103
102
101
10
180°
2
10
1
100
101
102
103
0°
100
10
1
10
2
0
20
40
60
80
100
120
140
160
180
225°
315°
Fig. 4. Isotropic (green), Henyey-Greenstein
with д = 0.857 (red),
and
Lorenz-Mie (dark blue) phase functions. The light blue shows an unnormalized version of Lorenz-Mie with a chopped diffraction
peak.
270°
in radiance L at point x in direction ω is governed by the radiative
transfer equation:
∫
(ω · ∇)L(x, ω) = − µ t (x)L(x, ω) + µ s (x)
p(ω · ω
b)L(x, ω
b) db
ω,
S2
Integrating both sides of the differential RTE along ω yields the
following Fredholm integral equation of the second kind:
∫ ∞ ∫ u
∫
L(x, ω) = exp − µ t (xv )dv µ s (xu ) p(ω · ω
b)L(xu , ω
b)db
ω du,
0
S2
0
where xu = x − uω and analogously for xv . The exponential term
represents the attenuation of light on a straight line between x and
xu commonly referred to as transmittance T (x, xu ).
Since clouds are non-emissive and light can only be injected
from the outside, we need to define a proper boundary condition.
Assuming xb is on a hypothetical boundary Ω that encloses the
cloud, i.e. ∀xb ∈ Ω : µ t (xb ) = 0, we have
∫ b
∫
L(x, ω) =
T (x, xu )µ s (xu )
p(ω · ω
b)L(xu , ω
b) db
ω du
0
+ T (x, xb )L(xb , ω),
S2
(1)
where b is the distance to the boundary.
Equation (1) can be estimated by recursive Monte Carlo integration: we alternate sampling of distances and directions, gradually
building a path towards the boundary and evaluating the radiance
thereof (e.g. by extending the path beyond Ω). Even with the latest
importance-sampling techniques for building volumetric paths, rendering high-albedo clouds by path tracing is too costly for interactive
applications and we use it only for constructing the training set.
4
RADIANCE-PREDICTING NEURAL NETWORKS
We propose a supervised learning approach to sidestep the costly
evaluation of the recursion in Equation (1). Our goal is to efficiently
synthesize the in-scattered radiance
∫
Ls (x, ω) =
p(ω · ω
b)L(x, ω
b) db
ω.
S2
To that end, we considered learning and predicting the complete
Ls (x, ω), but observed that the network struggles with predicting
uncollided radiance, Ld (x, ω); i.e. the light that arrives from light
sources directly and contributes to single scattering along camera
rays. We thus opt for predicting only multi-scattered transport,
precisely the indirect in-scattered radiance:
∫
Li (x, ω) =
p(ω · ω
b)(L(x, ω
b) − Ld (x, ω
b)) db
ω.
S2
2017-09-15 17:58 page 4 (pp. 1-11)
Deep Scattering: Rendering Atmospheric Clouds with Radiance-Predicting Neural Networks • 231:5
Block
ReLU
+
(a) Stencil grid
(b) Two levels
ReLU
(c) Local frame
Fig. 5. The descriptor consists of 5 × 5 × 9 stencils (a) that are progressively
scaled and turned into a hierarchy (b), which is then oriented towards the
light source (c); only two levels of the hierarchy are shown here (red and
blue) to avoid clutter.
For the the rest of the transport we employ MC integration that
samples visible points of the cloud (first integral in Equation (1))
and estimates single scattering thereof.
4.1
Learning from Data
The goal in supervised learning is to find a function д(z; θ ) : Rd → R,
which maps a feature descriptor z to a target value, Li (x, ω) in our
case, and depends on a set of parameters, θ . Since light transport
is global, Li (x, ω) is effectively a function of not only the location
x and direction ω, but also depends on the light source and the
density structure of the entire cloud; we denote this set S and refer
to it as “shading configuration”. We define an efficient descriptor
z = ϕ(S) ∈ Rd to accurately represent S without excessive computation and storage requirements; details follow in Section 4.2.
Then, given a finite sample of labeled training data
DN = {(z1 , Li (x1 , ω 1 )), . . . , (zN , Li (xN , ω N ))},
we aim to find the value of θ that minimizes the average loss between
the predictions and the target values,
N
1 Õ
b
ℓ(д(zi ; θ ), Li (xi , ωi )).
θ ∈ argmin
N i=1
θ
(2)
We propose restricting д to a particular neural-network architecture
that we describe in Section 4.3.
4.2
Descriptor Construction
The main challenge of defining a good descriptor z for a given configuration S is in capturing relevant information from the density
of the cloud. In theory, a neural network should be able to extract
all necessary information from raw data. However, we demonstrate
that the number of trainable parameters can be significantly reduced
by providing the network with an easy-to-compute feature descriptor. Managing the complexity of the network in this way has the
benefit of speeding up the training procedure. More importantly
however, it speeds up the predictions; millions of which are needed
to synthesize a single frame.
To represent small-scale detail near x, but also the overall shape
of the cloud, we employ a hierarchy of point stencils that sample
the cloud density. The stencils at individual levels are identical,
but their support increases geometrically with scaling factor 2k −1 ,
2017-09-15 17:58 page 5 (pp. 1-11)
ReLU
Fig. 6. We feed individual levels of the hierarchical stencil progressively.
The upper part of the network consists of 2-layer blocks (blue) with residual
connections, each of which processes the output of the previous block and
one level of the stencil. We also add 3 standard layers (green) at the end. In
all results we use K = 10, i.e. the complete network contains 23 layers.
where k is the (1-based) index of the level; we use K = 10 levels in
3
total. The stencil in the highest level covers a 29 ≈ 108 × larger
volume than the stencil at k = 1. In order to make the descriptor
scale independent, we express the stencil dimensions and density
values in terms of the mean free path; we do so by scaling the cloud
geometry and density such that one unit of distance corresponds
to one mean free path within the average density of the cloud; the
average is computed over all non-zero voxels. We refer to the scaled
density as ρ.
All stencils share the same local frame centered at x. The z-axis
of the frame points towards the light source (e.g. the Sun or another
distant emitter), the x-axis is perpendicular to the plane formed by
the z-axis and ω, and the y-axis is orthogonal to the two. The stencil
at each level is formed by 225 points. Initially, these points form a
5 × 5 × 9 grid in an axis-aligned box with [−1, −1, −1] and [1, 1, 3]
being two opposing corners. The stencil at level k is then further
scaled by 2k −1 ; see Figure 5 for annillustration. For each level
o k,
we extract the density values Σk = ρ(qk1 ), ρ(qk2 ), . . . ρ(qk225 ) , the
Ð
union of which, Σ = kK=1 Σk , represents the complete stencil.
The hierarchical stencil describes the cloud density with respect
to location x, direction towards the light source ωl , and the plane
that ωl forms with ω. We also add the angle γ = cos−1 (ω · ωl ) to
complete the description of the configuration, i.e. z = {Σ, γ }.
4.3
Network architecture
We use a network architecture based on a multilayer perceptron
(MLP). In a standard MLP, each layer m = 1, . . . , M applies a linear
transformation to the output of the previous layer followed by
an element-wise nonlinear activation function to obtain the layer
ACM Transactions on Graphics, Vol. 36, No. 4, Article 231. Publication date: November 2017.
231:6 •
Simon Kallweit, Thomas Müller, Brian McWilliams, Markus Gross, and Jan Novák
output. We propose a modified architecture, tailored to the problem
at hand, that yields better results than vanilla MLPs. We observe that
the prediction quality improves if the individual levels of the stencil
are fed into the network progressively, and that the performance
further increases with residual connections [He et al. 2016].
The architecture is visualized in Figure 6. For each of the K levels
of the hierarchical stencil Σ, we construct a block structure that
consists of two fully-connected layers which are bypassed using
a residual connection. Each block k processes the corresponding
stencil level Σk and angle γ , denoted zk = {Σk , γ }, and the output
of the previous block ok −1 as follows
F 1k = f Vk zk + Wk1 ok −1 + bk1 ,
F 2k = Wk2 F 1k + bk2 ,
ok = f F 2k + ok−1 ,
where V, W and b are trainable weights and biases, respectively.
We use the rectified linear unit (ReLU) activation function f (a) =
max(0, a). The residual connections serve two purposes: (i) they are
necessary to train deeper networks efficiently [Balduzzi et al. 2017]
and (ii) they encourage the network to learn how best to combine
each layer in the input hierarchy with the information from previous
levels in the stencil.
We also add a number of standard
fully connected layers of the
m−1 + bm to process the output of the last
form om = f Wm
1 o
1
block. The output of the very final layer represents the predicted
value, i.e. д(z; θ ) = oM , where M is the total number of blocks and
standard layers, and the set of parameters θ consists of1 :
m M
θ = {Vk , Wk1 , Wk2 , bk1 , bk2 }kK=1 + {Wm
1 , b1 }m=K +1 .
4.4
Rendering
In order to synthesize images using our network, we integrate it
into a Monte Carlo ray tracer. We stochastically sample the first
scattering interaction with delta tracking [Woodcock et al. 1965]
and estimate direct in-scattering via Monte Carlo and predict indirect in-scattering with our neural network. Our renderer supports
arbitrary distant light sources, which can be approximated well by
drawing a number of directional samples. The direct in-scattering
is estimated using next-event estimation, i.e. by combining samples
from the phase function and the light source via multiple importance
sampling. To predict indirect in-scattering, we extract descriptor
z of the shading configuration and query our network for Li (x, ω).
The direct and indirect components are added, multiplied by µ s to
obtain the absolute in-scattered radiance, and propagated back to
the camera. By numerically integrating the predictions over the
solid angle of the environment emitter, we can render clouds under
environment illumination while having trained only for simpler,
purely directional illumination conditions.
5 TRAINING
We train, validate, and test our networks on a mix of 80 procedurally generated, simulated, and artist-created clouds2 represented
1 We
keep W11 only for equation brevity; it could be excluded since o0 = 0.
2 A subset is available on https://www.disneyresearch.com/publication/deep-scattering.
ACM Transactions on Graphics, Vol. 36, No. 4, Article 231. Publication date: November 2017.
by voxel grids with resolutions within [100–1200]3 . The geometry of each cloud is uniformly scaled to fit into a unit box and the
density scaled accordingly to preserve the look. For testing, we
carefully handpicked 5 clouds to cover the spectrum of shapes and
thicknesses; these clouds are not used for training or validation. The
remaining 75 clouds were used to generate training and validation
data.
5.1
Data Generation
To compute a single training/validation record (zi , Li (xi , ωi )), we
sample a configuration Si , estimate the indirect in-scattered radiance Li (xi , ωi ) thereof, and extract the descriptor zi . The shading
location (xi , ωi ) is picked by first sampling a random direction ωi
uniformly over the solid sphere. Next, a ray origin x is picked such
that the cloud’s bounding sphere’s cross section is hit with a uniform probability density by the ray parametrized by (x, ωi ). Lastly,
we trace the ray into the cloud by sampling the free-flight distance
to obtain point xi . If this step does not produce a position within
the cloud, we repeat the entire process. This procedure ensures that
the density of records is higher near the cloud “surface”, mimicking
the distribution of records as found when path tracing, as is desired
for the rendering scenario described in Section 4.4.
In typical scenarios, clouds are illuminated primarily by the Sun
and the environment. Since the Sun can be parameterized well by a
single direction, and the illumination from the sky and the ground
can be approximated as a superposition of multiple directional lights,
we train only for directional light sources. We sample a random
direction ωl , from which light will arrive at the shading location,
and then estimate the indirect in-scattered radiance Li (xi , ωi ) using
standard MC path tracing with next-event estimation; we draw
samples progressively until the sample mean lies within a ±2%
interval around the true answer (estimated with 95% confidence).
To study the impact of the phase function, we generated two data
sets, each with N = 15 million samples. The first data set uses the
tabulated chopped Lorenz-Mie phase function and reduced density;
the version with the peak is used only at the first bounce while
rendering. The second set uses a Henyey-Greenstein phase function
with д = 0.857, matching the mean cosine of the Lorenz-Mie phase
function with the peak.
5.2
Training Procedure
We use the squared error loss function between the logarithm of the
network output and the Li (x, ω) estimated while generating data.
Specifically, for a minibatch B the loss is
2
1 Õ
ℓB =
log 1 + д(zi ; θ ) − log 1 + Li (xi , ωi ) .
|B|
i ∈B
We solve Equation (2) using stochastic gradient descent with the
Adam update rule using the default learning rate, the decay parameters reported by Kingma and Ba [2014], and minibatches of size
|B| = 1000.
Each of the two data sets described in Section 5.1 is split 75% : 25%
between non-overlapping training and validation subsets. The first
is used for training the parameters of the network and the second
to monitor convergence and select hyperparameters.
2017-09-15 17:58 page 6 (pp. 1-11)
Back-lit Cloud 4
Back-lit Cloud 3
Front-lit Cloud 4
Front-lit Cloud 1
Side-lit Cloud 5
Front-lit Cloud 2
Side-lit Cloud 2
Side-lit Cloud 1
Deep Scattering: Rendering Atmospheric Clouds with Radiance-Predicting Neural Networks • 231:7
(a) PT reference
(b) RPNN (ours)
(c) PT
(d) RPNN
(e) PT reference
(f) RPNN (ours)
(g) PT
(h) RPNN
Back-lit Cloud 1
Front-lit Cloud 4
Side-lit Cloud 3
Fig. 7. Comparison of path-traced references and our approach that employs radiance-predicting neural networks (RPNN) on several different clouds
illuminated by a sun-sky model. Our images accurately predict the incident illumination both due to the sun and the sky, which is estimated by sampling a
number of light directions and evaluating our predictive model on them. When considering only sun-sky illumination, our method converges 24× faster than
path tracing on average. Please see the supplementary material for additional results.
(a) PT reference
(b) RPNN (ours)
(c) Flux-limited Diffusion
(d) PT reference
(e) RPNN
(f) FLD
Fig. 8. Comparison of path-traced references, our method, and flux-limited diffusion (FLD) on three different clouds illuminated from three distinct directions.
In contrast to FLD, our data-driven method correctly captures subtle contrast details (top), better preserves overall brightness of thin clouds (middle), and
produces effects such as silverlining when trained on simulations of Lorenz-Mie scattering that FLD approximates by isotropic scattering. Columns on the
right show zoom-ins. All FLD and RPNN images were rendered in approximately 6 seconds.
2017-09-15 17:58 page 7 (pp. 1-11)
ACM Transactions on Graphics, Vol. 36, No. 4, Article 231. Publication date: November 2017.
231:8 •
Simon Kallweit, Thomas Müller, Brian McWilliams, Markus Gross, and Jan Novák
Table 1. Speedup over path tracing and bias of converged images computed
with our technique for 5 different clouds under directional illumination, a
sun-sky model, and environment maps with medium dynamic range. For
directional light sources we compare against flux-limited diffusion [Koerner
et al. 2014] and achieve one to two orders of magnitude lower bias.
6 RESULTS
We compare the results obtained with our data-driven method to
reference images rendered with a volumetric path tracer, and approximate solutions obtained with flux-limited diffusion (FLD) [Koerner
et al. 2014]; we use the authors’ GPU implementation. The five
clouds shown in the figures here and in the supplemental materials
were excluded from the training and validation sets.
Bias FLD
Scene
Implementation. We implemented our prediction model in TensorFlow [Abadi et al. 2015], including the camera-ray generation,
free-path sampling along primary rays, and single scattering estimation to allow for an efficient integration and execution on the GPU.
For evaluating the densities, we constructed a Gaussian-filtered density mipmap of the cloud to avoid aliasing artifacts and flickering
in animated sequences. We used σi = 2i , where i is the mip level,
as the standard deviation of the Gaussian filters. All our and FLD
results were obtained using an NVIDIA Titan X (Pascal) GPU. The
path-traced reference images were computed on two Intel Xeon E52680v3 CPUs (24 cores / 48 threads in total). We also experimented
with GPU path tracing, which, however, was close to 2× slower than
the dual-CPU setup due to the incoherent memory accesses inherent
to tracing long light paths through clouds. We therefore compare
our method to the faster CPU baseline. All images were rendered at
1280 × 720 resolution. The rendering time depends linearly on the
number of pixels and can be controlled by adjusting the resolution.
Bias RPNN (Ours)
Speedup RPNN (Ours)
Dir. illum
Sun-sky
Envmap
Cloud 1
Side
Front
Back
3.36e-02
2.61e-02
1.92e-01
2.32e-03
1.73e-03
4.87e-03
2.02e-03
2.26e-03
1.57e-02
1.21e-03
1.54e-03
5.46e-04
Cloud 2
Side
Front
Back
1.42e-02
2.38e-02
9.69e-02
1.88e-03
1.53e-03
5.15e-03
4.01e-03
2.96e-03
5.18e-03
1.13e-03
1.32e-03
1.87e-02
Cloud 3
Side
Front
Back
1.28e-02
9.82e-03
1.49e-01
2.55e-03
1.54e-03
5.24e-03
2.38e-03
1.43e-03
1.63e-02
1.31e-03
1.46e-03
7.69e-03
Cloud 4
Side
Front
Back
8.25e-02
2.69e-02
2.51e-01
1.81e-03
1.75e-03
6.35e-03
2.04e-03
1.58e-03
4.94e-03
1.24e-03
1.70e-03
6.06e-03
Cloud 5
Side
Front
Back
1.21e-02
2.57e-02
1.68e-01
2.08e-03
1.32e-03
5.59e-03
8.41e-03
3.95e-03
1.47e-02
1.61e-03
1.16e-03
5.18e-04
Dir. illum. Sun-sky Envmap
4000 ×
1903 ×
70 ×
41.7 ×
26.9 ×
10.0 ×
19.1 ×
18.5 ×
4.7 ×
2727 ×
2532 ×
62 ×
19.7 ×
13.6 ×
5.3 ×
6.3 ×
19.1 ×
3.0 ×
3006 ×
685 ×
38 ×
1308 ×
1282 ×
69 ×
1964 ×
795 ×
30 ×
18.7 ×
28.7 ×
13.0 ×
25.9 ×
15.8 ×
15.5 ×
25.0 ×
36.6 ×
2.3 ×
10.6 ×
5.9 ×
3.6 ×
12.1 ×
9.9 ×
31.2 ×
9.8 ×
4.9 ×
2.9 ×
Comparison to Flux-limited Diffusion. In Figure 8, we compare
also to FLD. Unlike our method, the diffusion theory-based FLD simulates all orders of scattering—including single scattering—with the
inherent assumption of isotropic scattering. This prevents correctly
synthesizing the silverlining effect, which stems from low-order,
highly forward Lorenz-Mie scattering. While thin clouds are problematic for our method (due to a rather small number of those in
the training set), FLD produces even worse results, overestimating
the cloud brightness (middle row) and significantly changing the
visual look of the cloud (see the supplementary material). In Table 1,
we report the root-mean-square error on converged images of FLD
and our method as bias. Our method outperforms FLD by one to
two orders of magnitude in this regard.
Lorenz Mie
Impact of Phase Function. In Figure 9, we compare renderings with
Lorenz-Mie and Henyey-Greenstein phase functions synthesized by
path tracing and our method. Being an approximation, our method
Henyey-Greenstein
Comparison to Reference. Figure 7 compares our solution to a
path-traced reference on a number of different clouds in varying
lighting configurations. All images in the figure use a sun-sky model;
see the supplementary materials for results with HDR environment
maps. In most cases, our neural network predicts the radiance values
accurately, producing images that are nearly indistinguishable from
the reference; we recommend studying the differences using the
supplemented interactive viewer. The highest errors appear in the
back-lit Cloud 4 (bottom right), where the network produces an
image with slightly less contrast. This is partly due to the fact that
our data set of 80 clouds consists mostly of cumulus clouds, whereas
the problematic cloud is closer in shape to a stratus.
Since both methods are Monte Carlo estimators, we can quantify
their efficiency in reducing noise using time to unit variance (TTUV),
defined per image as the product of render time and mean pixel
variance. The TTUV can also be interpreted as the variance after
rendering for one unit of time. Computing the ratio of the TTUV of
the reference and the TTUV of our method yields the speedup we
achieve over path tracing, which is reported alongside the incurred
bias (of converged results) in Table 1. Our approach is up to three
orders of magnitude faster than the path tracer under directional illumination, meaning that a high-quality image produced by the path
tracer within a day can be synthesized using our method in mere
seconds. Having to integrate numerically over multiple light directions reduces our speedup since much of the noise comes from the
directional sampling. Hence the sun-sky lighting and the relatively
low-dynamic-range envmap render generally slower; we discuss
a possible remedy in Section 7. In the case of directional illumination, the speedups are lower in back-lit configurations, where most
energy is contributed by single scattering that we do not accelerate.
Light dir. Dir. illum
ACM Transactions on Graphics, Vol. 36, No. 4, Article 231. Publication date: November 2017.
(a) PT reference
(b) RPNN
Fig. 9. Visual comparison of Lorenz-Mie scattering and the HenyeyGreenstein approximation rendered with path tracing and our method
trained on data simulated with the corresponding phase function. Note that
the (vertical) difference between the two phase functions is larger than the
(horizontal) difference between the reference and our solution.
2017-09-15 17:58 page 8 (pp. 1-11)
Deep Scattering: Rendering Atmospheric Clouds with Radiance-Predicting Neural Networks • 231:9
CNN
Ours [10 × 2 × 200, 3 × 200]
Shallow wide MLP [2 × 400, 3 × 200]
Deep narrow MLP [23 × 200]
0K
50K
100K
150K
200K
Iterations
250K
Regular Stencil [5 × 5 × 5]
Regular Stencil [5 × 5 × 9]
Data-Driven Stencil [7 × 7 × 7]
0K
50K
100K
150K
200K
250K
Iterations
Fig. 10. Convergence of validation error for different network designs (left)
and various stencil shapes with our network architecture (right).
does not match the path tracer exactly, however, the visual difference
is smaller than between the two phase functions. Previous methods
for fast rendering of clouds heavily approximated or ignored either
the cloud geometry, or the shape of Lorenz-Mie phase function. Our
method is the first to produce high-quality results within minutes.
7
DISCUSSION
In this section, we compare our network design to three other architectures that we tested, analyze the impact of certain hyperparameters, and discuss limitations of our current approach.
Comparison to Vanilla MLP and CNN. We experimented with a
vanilla MLP with different numbers of layers and nodes. Figure 10
compares our approach to a shallow wide MLP with 5 layers containing [400, 400, 200, 200, 200] nodes, and to a deep narrow MLP
with 23 layers each containing 200 nodes. The deep narrow MLP
has the same number of layers as our design: we use 10 blocks, each
with 2 layers, and 3 layers at the end (each layer contains 200 nodes).
The main difference to our design is that we feed the hierarchical
descriptor to the other two variants all at once; the entire hierarchy
is input to the first layer. The other difference is the presence of
residual connections in our design. All compared MLPs use about 1.4
million trainable parameters. As demonstrated by the convergence
curves, our architecture learns faster and converges to a lower error.
This highlights the benefit of the progressive feeding that provides
means to better adapt to signals at different frequency scales.
We also tested a CNN; please see the supplementary document for
the description of the architecture. We did not see quality improvements over our approach while incurring a significant performanceand stability hit. This may be because the size of the input is relatively small compared to applications where CNNs excel. Furthermore, the spatial structure which CNNs are designed for is fully
captured by the input stencil. We conjecture that if the descriptor was sufficiently larger, an appropriately designed CNN might
yield a quality improvement over our network at the expense of
additional time spent constructing descriptors, which is already the
computational bottleneck of our approach.
Stencil Size. We tested several stencils and their sizes. Figure 10
compares the convergence of the validation error with stencils of
varying resolution and a data-driven stencil with points distributed
according to the mean fluence distribution around the shading location; please see the supplementary material for details. Contrary
2017-09-15 17:58 page 9 (pp. 1-11)
to our intuition, the fluence-based approach never exceeded the
performance of the straightforward regular stencils. We chose the
5 × 5 × 9 configuration as it strikes a good balance between accuracy
and the cost of querying the density values and number of trainable
parameters in the network.
Including Direct In-scattering in Predictions. We compared the convergence error of learning all in-scattered radiance Ls (green curve)
and only the indirect compoLearning Ls
nent Li (blue curve). The netLearning Li
work struggles with learning
the full Ls due to the very
high-frequency nature of direct
illumination. This component
is largely responsible for the
prominent silverlining effect in
backlit configurations, and inaccurate predictions would be detrimental to the overall visual quality. Since the variance of integrating the direct in-scattered radiance
via Monte Carlo is relatively low, excluding Ld from the prediction
helps attain high quality at tractable extra cost as shadow rays can
be made coherent.
Non-Cloud Shaped Objects. We tried to predict radiance on noncloud shaped objects using one of our models we trained on clouds
(see Figure 11 and the supplementary material). As expected, our
model performs worse than on clouds, given that the training data
is not representative of the rendered shapes. While general characteristics of light transport are present, the brightness of subsurface
scattering is overestimated. These experiments highlight another
limitation of our approach: our stencil—being unable to resolve detail at large distances—cannot capture distant hard shadows well.
We do not expect a proper training set to fully alleviate this problem.
(a) PT reference
(b) RPNN (Ours)
(c) PT (d) RPNN
Fig. 11. Comparison of path-traced references and our method on the StanfordBunny and the SphereBox scenes under directional illumination. On
such shapes, which are radically different from the clouds that the network
was trained on, the incurred bias is substantially higher. Furthermore, due
to the coarse approximation of distant shapes by our stencil, hard shadows
can not be well synthesized (bottom row). Please see the supplementary
material for additional results.
ACM Transactions on Graphics, Vol. 36, No. 4, Article 231. Publication date: November 2017.
231:10
• Simon Kallweit, Thomas Müller, Brian McWilliams, Markus Gross, and Jan Novák
Envmap
Back-lit
ACKNOWLEDGMENTS
(a) 1 SPP
(b) 4 SPP
(c) 16 SPP
Fig. 12. If rendered at low samples per pixel, images may suffer from noise
due to the MC integration that is used for sampling visible points and
estimating single scattering. The noise level increases when lighting the
cloud by the surrounding environment (bottom). Our method requires 1-3
seconds per SPP for images in our dataset.
Environment Lighting. Since we estimate part of the transport
using MC integration (distance sampling and single scattering), the
rendered images may still suffer from a small amount of residual
noise. Figure 12 compares the levels of noise with different numbers
of samples per pixel (SPP). The noise is exacerbated by environmental lighting, which requires multiple samples/predictions to cover
the full sphere of directions. An interesting solution to avoid sampling the environment map would be to expand it into a suitable
basis, e.g. spherical harmonics, and feed the expansion coefficient
into the network, thereby training it to predict the radiance due to
the full sky and ground. While fruitful, we believe this topic warrants its own investigation and leave it for future work. The noise
could also be removed by applying an a-posteriori denoiser.
Retraining and Adaptation. Being data-driven, the performance
of our method depends largely on how well the training set represents the actual rendering scenario. That being said, our networks
require ∼12 h of training on a single GPU. Tailoring their performance to a particular kind of cloud or specific cloud formations is
thus relatively easy, provided that enough training data is available.
Lightweight retraining could also be achieved by employing the
idea of progressive networks [Rusu et al. 2016].
Temporal Stability. A key strength of our approach is its temporal
stability stemming from the hierarchical descriptor and filtering.
The accompanying video shows sequences with an orbiting camera
and light sources, a cloud with changing density, and a cloud with
changing shape, all of which are temporally stable.
8
CONCLUSION
We presented a novel approach for rendering atmospheric clouds at
fast rates. Our radiance-predicting neural networks represent a new
point in the spectrum of methods trading accuracy for speed. We
achieve results that are nearly indistinguishable from the reference
often faster or at comparable cost to previous approaches. The key
and novel ingredient of our method is the progressive feeding of a
hierarchical descriptor into the network. We further improve performance using standard techniques, such as residual connections and
mip-mapping. Our method is temporally stable and could present
a viable solution for applications such as asset design, future computer games, but also offline rendering if a small amount of bias is
visually acceptable. We demonstrated that deep neural networks
can be successfully applied to transport problems and hope that our
work will stimulate further developments in that direction.
ACM Transactions on Graphics, Vol. 36, No. 4, Article 231. Publication date: November 2017.
We thank Delio Vicini for proofreading and helpful discussions, the
Stanford 3D Scanning Repository for the Armadillo, Dragon, and
StanfordBunny models, and Magnus Wrenninge and the Pixar
Animation Studios for providing most of the cloud volumes used
throughout project. We are also grateful to David Koerner for sharing the source code of the flux-limited diffusion [Koerner et al. 2014].
REFERENCES
Martín Abadi, Ashish Agarwal, Paul Barham, Eugene Brevdo, Zhifeng Chen, Craig
Citro, Greg S. Corrado, Andy Davis, Jeffrey Dean, et al. 2015. TensorFlow: LargeScale Machine Learning on Heterogeneous Systems. (2015). http://tensorflow.org/
Software available from tensorflow.org.
Steve Bako, Thijs Vogels, Brian McWilliams, Mark Meyer, Jan Novák, Alex Harvill,
Pradeep Sen, Tony DeRose, and Fabrice Rousselle. 2017. Kernel-Predicting Convolutional Networks for Denoising Monte Carlo Renderings. ACM TOG (Proc. of
SIGGRAPH) 36, 4 (2017). https://doi.org/10.1145/3072959.3073708
David Balduzzi, Marcus Frean, Lennox Leary, JP Lewis, Kurt Wan-Duo Ma, and Brian
McWilliams. 2017. The Shattered Gradients Problem: If resnets are the answer, then
what is the question?. In Proceedings of The 34th International Conference on Machine
Learning.
Yoshua Bengio, Aaron Courville, and Pascal Vincent. 2013. Representation learning:
A review and new perspectives. IEEE transactions on pattern analysis and machine
intelligence 35, 8 (2013), 1798–1828.
Benedikt Bitterli and Wojciech Jarosz. 2017. Beyond Points and Beams: HigherDimensional Photon Samples for Volumetric Light Transport. ACM Transactions
on Graphics (Proceedings of SIGGRAPH) 36, 4 (July 2017). https://doi.org/10.1145/
3072959.3073698
Antoine Bouthors, Fabrice Neyret, Nelson Max, Eric Bruneton, and Cyril Crassin.
2008. Interactive multiple anisotropic scattering in clouds. In Proc. of Symposium on
Interactive 3D Graphics and Games.
Chakravarty R. A. Chaitanya, Anton Kaplanyan, Christoph Schied, Marco Salvi, Aaron
Lefohn, Derek Nowrouzezahrai, and Timo Aila. 2017. Interactive Reconstruction of
Noisy Monte Carlo Image Sequences using a Recurrent Autoencoder. ACM Trans.
Graph. (Proc. SIGGRAPH) (2017).
Subrahmanyan Chandrasekhar. 1960. Radiative transfer. Dover Publications.
Mengyu Chu and Nils Thuerey. 2017. Data-Driven Synthesis of Smoke Flows with
CNN-based Feature Descriptors. ACM TOG (Proc. of SIGGRAPH) 36, 4 (2017).
Eugene d’Eon and Geoffrey Irving. 2011. A quantized-diffusion model for rendering
translucent materials. ACM TOG (Proc. of SIGGRAPH) 30, 4 (July 2011), 56:1–56:14.
Yoshinori Dobashi, Kazufumi Kaneda, Hideo Yamashita, Tsuyoshi Okita, and Tomoyuki
Nishita. 2000. A Simple, Efficient Method for Realistic Animation of Clouds. In Proc.
of SIGGRAPH 00 (Annual Conference Series). ACM Press/Addison-Wesley Publishing
Co., New York, NY, USA, 19–28. https://doi.org/10.1145/344779.344795
Craig Donner and Henrik Wann Jensen. 2005. Light diffusion in multi-layered translucent materials. ACM TOG (Proc. of SIGGRAPH) 24, 3 (July 2005), 1032–1039.
Oskar Elek, Tobias Ritschel, Carsten Dachsbacher, and Hans-Peter Seidel. 2014.
Principal-Ordinates Propagation for real-time rendering of participating media.
Computers & Graphics 45 (2014), 28–39. https://doi.org/10.1016/j.cag.2014.08.003
Oskar Elek, Tobias Ritschel, Alexander Wilkie, and Hans-Peter Seidel. 2012. Interactive
cloud rendering using temporally coherent photon mapping. Computers & Graphics
36, 8 (2012), 1109–1118. https://doi.org/10.1016/j.cag.2012.10.002
Jeppe Revall Frisvad, Niels Jørgen Christensen, and Henrik Wann Jensen. 2007. Computing the scattering properties of participating media using lorenz-mie theory.
ACM TOG (Proc. of SIGGRAPH) 26, 3, Article 60 (jul 2007).
Jeppe Revall Frisvad, Toshiya Hachisuka, and Thomas Kim Kjeldsen. 2014. Directional
Dipole Model for Subsurface Scattering. ACM TOG 34, 1 (Dec. 2014), 5:1–5:12.
https://doi.org/10.1145/2682629
Geoffrey Y. Gardner. 1985. Visual Simulation of Clouds. Computer Graphics (Proc. of
SIGGRAPH) 19, 3 (July 1985), 297–304. https://doi.org/10.1145/325165.325248
Iliyan Georgiev, Jaroslav Křivánek, Toshiya Hachisuka, Derek Nowrouzezahrai, and
Wojciech Jarosz. 2013. Joint importance sampling of low-order volumetric scattering.
ACM TOG (Proc. of SIGGRAPH Asia) 32, 6 (Nov. 2013), 164:1–164:14. https://doi.org/
10.1145/2508363.2508411
Mark J. Harris and Anselmo Lastra. 2001. Real-Time Cloud Rendering. Computer
Graphics Forum 20, 3 (2001), 76–85. https://doi.org/10.1111/1467-8659.00500
Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. 2016. Deep Residual Learning
for Image Recognition. In IEEE Conference on Computer Vision and Pattern Recognition
(CVPR).
Wojciech Jarosz, Craig Donner, Matthias Zwicker, and Henrik Wann Jensen. 2008.
Radiance caching for participating media. ACM TOG 27, 1 (March 2008), 7:1–7:11.
Wojciech Jarosz, Derek Nowrouzezahrai, Iman Sadeghi, and Henrik Wann Jensen. 2011.
A comprehensive theory of volumetric radiance estimation using photon points and
2017-09-15 17:58 page 10 (pp. 1-11)
Deep Scattering: Rendering Atmospheric Clouds with Radiance-Predicting Neural Networks •
beams. ACM TOG 30, 1 (Feb. 2011), 5:1–5:19.
Wojciech Jarosz, Matthias Zwicker, and Henrik Wann Jensen. 2008. The beam radiance estimate for volumetric photon mapping. Computer Graphics Forum (Proc. of
Eurographics) 27, 2 (April 2008), 557–566.
Henrik Wann Jensen and Per H. Christensen. 1998. Efficient simulation of light transport
in scenes with participating media using photon maps. In Proc. of SIGGRAPH 98
(Annual Conference Series). ACM, New York, NY, USA, 311–320.
Henrik Wann Jensen, Stephen R. Marschner, Marc Levoy, and Pat Hanrahan. 2001. A
practical model for subsurface light transport. In Proc. of SIGGRAPH 01 (Annual
Conference Series). ACM, New York, NY, USA, 511–518.
James T. Kajiya and Brian P Von Herzen. 1984. Ray tracing volume densities. Computer
Graphics (Proc. of SIGGRAPH) 18, 3 (Jan. 1984), 165–174.
Diederik Kingma and Jimmy Ba. 2014. Adam: A method for stochastic optimization.
arXiv preprint arXiv:1412.6980 (2014).
David Koerner, Jamie Portsmouth, Filip Sadlo, Thomas Ertl, and Bernd Eberhardt. 2014.
Flux-Limited Diffusion for Multiple Scattering in Participating Media. Computer
Graphics Forum 33, 6 (Sept. 2014), 178–189. https://doi.org/10.1111/cgf.12342
Christopher Kulla and Marcos Fajardo. 2012. Importance sampling techniques for path
tracing in participating media. CGF (Proc. of Eurographics Symposium on Rendering)
31, 4 (June 2012), 1519–1528. https://doi.org/10.1111/j.1467-8659.2012.03148.x
Peter Kutz, Ralf Habel, Yining Karl Li, and Jan Novák. 2017. Spectral and Decomposition
Tracking for Rendering Heterogeneous Volumes. ACM TOG (Proc. of SIGGRAPH)
36, 4 (2017). https://doi.org/10.1145/3072959.3073665
Jaroslav Křivánek, Iliyan Georgiev, Toshiya Hachisuka, Petr Vévoda, Martin Šik, Derek
Nowrouzezahrai, and Wojciech Jarosz. 2014. Unifying points, beams, and paths in
volumetric light transport simulation. ACM TOG (Proc. of SIGGRAPH) 33, 4 (2014),
103:1–103:13. https://doi.org/10.1145/2601097.2601219
Eric P. Lafortune and Yves D. Willems. 1996. Rendering participating media with
bidirectional path tracing. In Proc. of Eurographics Workshop on Rendering Techniques.
Springer-Verlag, London, UK, 91–100.
Yann LeCun, Yoshua Bengio, and Geoffrey Hinton. 2015. Deep Learning. Nature 521
(2015), 436–444.
Richard Lee and Carol O’Sullivan. 2007. Accelerated Light Propagation Through Participating Media. In Proc. Eurographics / IEEE VGTC Conference on Volume Graphics.
17–23. https://doi.org/10.2312/VG/VG07/017-023
Ludwig Lorenz. 1890. Lysbevægelsen i og uden for en af plane Lysbølger belyst Kugle. In
Det Kongelige Danske Videnskabernes Selskabs Skrifter (trykt utg.): Naturvidenskabelig
og Mathematisk Afdeling.
Gustav Mie. 1908. Beiträge zur Optik trüber Medien, speziell kolloidaler Metallösungen.
Annalen der Physik 330 (1908), 377–445. https://doi.org/10.1002/andp.19083300302
Jonathan T. Moon, Bruce Walter, and Stephen R. Marschner. 2007. Rendering Discrete Random Media Using Precomputed Scattering Solutions. In Proc. of EGSR.
Eurographics Association, 231–242.
Thomas Müller, Marios Papas, Markus Gross, Wojciech Jarosz, and Jan Novák. 2016.
Efficient Rendering of Heterogenous Polydisperse Granular Media. ACM TOG
(Proc. of SIGGRAPH Asia) 35, 6 (2016), 168:1–168:14. https://doi.org/10.1145/2980179.
2982429
Oliver Nalbach, Elena Arabadzhiyska, Dushyant Mehta, Hans-Peter Seidel, and Tobias
Ritschel. 2017. Deep Shading: Convolutional Neural Networks for Screen-Space
Shading. CGF (Proc. of Eurographics Symposium on Rendering) 36, 4 (2017).
Tomoyuki Nishita, Yoshinori Dobashi, and Eihachiro Nakamae. 1996. Display of Clouds
Taking into Account Multiple Anisotropic Scattering and Sky Light. In Proc. of
SIGGRAPH 96. ACM, New York, NY, USA, 379–386. https://doi.org/10.1145/237170.
237277
Jan Novák, Derek Nowrouzezahrai, Carsten Dachsbacher, and Wojciech Jarosz. 2012.
Virtual ray lights for rendering scenes with participating media. ACM TOG (Proc. of
SIGGRAPH) 31, 4 (July 2012), 60:1–60:11.
Jan Novák, Andrew Selle, and Wojciech Jarosz. 2014. Residual ratio tracking for
estimating attenuation in participating media. ACM TOG (Proc. of SIGGRAPH Asia)
33, 6 (Nov. 2014), 179:1–179:11. https://doi.org/10.1145/2661229.2661292
Aaron van den Oord, Sander Dieleman, Heiga Zen, Karen Simonyan, Oriol Vinyals, Alex
Graves, Nal Kalchbrenner, Andrew Senior, and Koray Kavukcuoglu. 2016a. Wavenet:
A Generative Model for Raw Audio. arXiv preprint arXiv:1609.03499 (2016).
Aaron Van den Oord, Nal Kalchbrenner, and Koray Kavukcuoglu. 2016b. Pixel Recurrent
Neural Networks. In Proceedings of The 33rd International Conference on Machine
Learning. 1747–1756.
Mark Pauly, Thomas Kollig, and Alexander Keller. 2000. Metropolis light transport
for participating media. In Proc. of Eurographics Workshop on Rendering Techniques.
Springer-Verlag, London, UK, 11–22.
Matthias Raab, Daniel Seibert, and Alexander Keller. 2008. Unbiased global illumination
with participating media. In Monte Carlo and Quasi-Monte Carlo Methods 2006.
Springer, 591–606. https://doi.org/10.1007/978-3-540-74496-2_35
Peiran Ren, Jiaping Wang, Minmin Gong, Stephen Lin, Xin Tong, and Baining Guo.
2013. Global Illumination with Radiance Regression Functions. ACM TOG (Proc. of
SIGGRAPH) 32, 4 (July 2013), 130:1–130:12. https://doi.org/10.1145/2461912.2462009
2017-09-15 17:58 page 11 (pp. 1-11)
231:11
Kirk Riley, David S. Ebert, Martin Kraus, Jerry Tessendorf, and Charles Hansen. 2004.
Efficient Rendering of Atmospheric Phenomena. In Proc. of EGSR. Eurographics
Association, Aire-la-Ville, Switzerland, 375–386.
Andrei A. Rusu, Neil C. Rabinowitz, Guillaume Desjardins, Hubert Soyer, James Kirkpatrick, Koray Kavukcuoglu, Razvan Pascanu, and Raia Hadsell. 2016. Progressive
Neural Networks. CoRR abs/1606.04671 (2016). http://arxiv.org/abs/1606.04671
Karen Simonyan and Andrew Zisserman. 2014. Very Deep Convolutional Networks for
Large-Scale Image Recognition. arXiv preprint arXiv:1409.1556 (2014).
Jos Stam. 1995. Multiple scattering as a diffusion process. In Proc. of Eurographics
Workshop on Rendering Techniques. Springer-Verlag, 41–50.
László Szirmay-Kalos, Iliyan Georgiev, Milán Magdics, Balázs Molnár, and Dávid Légrády. 2017. Unbiased Estimators to Render Procedurally Generated Inhomogeneous
Participating Media. Computer Graphics Forum (Proc. of Eurographics) 36, 2 (2017).
László Szirmay-Kalos, Mateu Sbert, and Tamás Ummenhoffer. 2005. Real-time Multiple
Scattering in Participating Media with Illumination Networks. In Proc. of EGSR.
Eurographics Association, Aire-la-Ville, Switzerland, 277–282. https://doi.org/10.
2312/EGWR/EGSR05/277-282
László Szirmay-Kalos, Balázs Tóth, and Milán Magdics. 2011. Free path sampling in
high resolution inhomogeneous participating media. Computer Graphics Forum 30,
1 (2011), 85–97. https://doi.org/10.1111/j.1467-8659.2010.01831.x
Helmut K. Weickmann and Hans J. aufm Kampe. 1953. Physical properties of cumulus clouds. Journal of Meteorology 10, 3 (1953), 204–211. https://doi.org/10.1175/
1520-0469(1953)010<0204:PPOCC>2.0.CO;2
E. R. Woodcock, T. Murphy, P. J. Hemmings, and T. C. Longworth. 1965. Techniques
used in the GEM code for Monte Carlo neutronics calculations in reactors and other
systems of complex geometry. In Applications of Computing Methods to Reactor
Problems. Argonne National Laboratory.
Yonghui Wu, Mike Schuster, Zhifeng Chen, Quoc V Le, Mohammad Norouzi, Wolfgang
Macherey, Maxim Krikun, Yuan Cao, Qin Gao, Klaus Macherey, et al. 2016. Google’s
Neural Machine Translation System: Bridging the Gap between Human and Machine
Translation. arXiv preprint arXiv:1609.08144 (2016).
Yonghao Yue, Kei Iwasaki, Bing-Yu Chen, Yoshinori Dobashi, and Tomoyuki Nishita.
2011. Toward optimal space partitioning for unbiased, adaptive free path sampling
of inhomogeneous participating media. CGF (Proc. of Pacific Graphics) 30, 7 (2011),
1911–1919. https://doi.org/10.1111/j.1467-8659.2011.02049.x
Yonghao Yue, Kei Iwasaki, Bing-Yu Chen, Yoshinori Dobashi, and Tomoyuki Nishita.
2010. Unbiased, adaptive stochastic sampling for rendering inhomogeneous participating media. ACM TOG (Proc. of SIGGRAPH Asia) 29, 6 (Dec. 2010), 177:1–177:8.
https://doi.org/10.1145/1866158.1866199
ACM Transactions on Graphics, Vol. 36, No. 4, Article 231. Publication date: November 2017.