Photon Beam Diffusion
Photon Beam Diffusion
Per H. Christensen2
1 Disney
(a)
Research Zrich
(b)
2 Pixar
(c)
Wojciech Jarosz1
Animation Studios
(d)
(e)
Figure 1: We solve the searchlight problem (a) using a Monte Carlo integration of dipoles distributed along either a normally
incident (b) or oblique (c) beam. We can apply our hybrid approach to standard subsurface scattering (d) and also to more
complex configurations using photon beams (e).
Abstract
We present photon beam diffusion, an efficient numerical method for accurately rendering translucent materials.
Our approach interprets incident light as a continuous beam of photons inside the material. Numerically integrating
diffusion from such extended sources has long been assumed computationally prohibitive, leading to the ubiquitous
single-depth dipole approximation and the recent analytic sum-of-Gaussians approach employed by Quantized
Diffusion. In this paper, we show that numerical integration of the extended beam is not only feasible, but provides
increased speed, flexibility, numerical stability, and ease of implementation, while retaining the benefits of previous
approaches. We leverage the improved diffusion model, but propose an efficient and numerically stable Monte
Carlo integration scheme that gives equivalent results using only 35 samples instead of 2060 Gaussians as in
previous work. Our method can account for finite and multi-layer materials, and additionally supports directional
incident effects at surfaces. We also propose a novel diffuse exact single-scattering term which can be integrated in
tandem with the multi-scattering approximation. Our numerical approach furthermore allows us to easily correct
inaccuracies of the diffusion model and even combine it with more general Monte Carlo rendering algorithms. We
provide practical details necessary for efficient implementation, and demonstrate the versatility of our technique by
incorporating it on top of several rendering algorithms in both research and production rendering systems.
Categories and Subject Descriptors (according to ACM CCS): I.3.7 [Computer Graphics]: Three-Dimensional
Graphics and RealismRay Tracing; I.6.8 [Simulation and Modeling]: SimulationMonte Carlo
1. Introduction
Many important materials exhibit noticeable translucency,
including wax, marble, juices, the foods we eat, and our own
skin. Accurate and efficient lighting simulation in such materials is a critical challenge in fields ranging from medical
physics to realistic image synthesis in computer graphics.
Light passes volumetrically through translucent materials
before being scattered or absorbed, so they are poorly apc 2013 The Author(s)
c 2013 The Eurographics Association and Blackwell PublishComputer Graphics Forum
ing Ltd. Published by Blackwell Publishing, 9600 Garsington Road, Oxford OX4 2DQ,
UK and 350 Main Street, Malden, MA 02148, USA.
handle arbitrary geometries and material properties. Unfortunately, these methods are typically slow to converge, especially when the medium is highly scattering and many
bounces are needed to obtain converged results. Methods
based on the diffusion approximation [Sta95], on the other
hand, can be much more efficient in these situations, though
they place strict assumptions on the medium being simulated.
In this paper, we present a new method for accurately rendering translucent materials called photon beam diffusion
(PBD). Our approach interprets incident light as a continuous beam of photons, and expresses its propagation through
the medium using enhancements to the state-of-the-art improved diffusion model [dI11]. Unlike previous work, we
formulate our solution as a Monte Carlo integration problem.
This provides increased flexibility, numerical stability, and
speed. Furthermore, our formulation allows us to easily extend the accuracy and capabilities of the diffusion model and
even combine it with more general Monte Carlo rendering
algorithms.
In our work, we show that we can compute the same extended source integral numerically in a straightforward and
very efficient wayeliminating the need for quantization and
the sum of Gaussians altogether. We show that with just 35
numerical samples we can obtain a profile of equal quality to
QD using 2066 Gaussians, providing more flexibility and
allowing us to easily approximate more general participating
media transport than possible with QD by combining with
other Monte Carlo rendering methods.
Description
L(~x,~)
fs (~,~0 )
g
s
0s
a
t
t0
0
(~x)
~E(~x)
Q(~x)
D
tr
Scattering coefficient
[m1 ]
Reduced scattering coefficient: (1 g) s [m1 ]
Absorption coefficient
[m1 ]
Extinction coefficient: s + a
[m1 ]
Reduced extinction coefficient: 0s + a
[m1 ]
Relative index of refraction
Scattering albedo: s /t
Fluence
[W m2 ]
Vector flux (vector irradiance)
[W m2 ]
Source function
[W m3 ]
Diffusion coefficient p
[m]
Transport coefficient: a /D
[m1 ]
Units
heterogeneous media, anisotropic scattering and lighting distribution, and occlusions), but at generally higher cost, especially for highly scattering materials. As the name photon
beam diffusion suggests, we take inspiration from this line
of work by similarly considering a continuous beam of
photons, but we simulate multiple scattering from this beam
using diffusion instead of using density estimation or recursive Monte Carlo integration.
Hybrid Methods. A few hybrid methods have combined
diffusion and Monte Carlo techniques. Li et al. [LPT05]
proposed a hybrid approach which performs a few bounces
of path tracing from the eye, and approximates subsequent bounces with the classical dipole. Donner and
Jensens [DJ07] photon diffusion (PD) performs a photon
tracing pass and then interprets the photons as diffusion
sources. Like QD, this accounts for the extended incident
beam of light, and further accounts for oblique incident illumination and internal blockers (approximately), but it forfeits
accurate multilayered material support and uses the inferior
classical diffusion model. We can likewise compute diffusion from photon sources, but operate on continuous photon
beams [JNSJ11] instead of discrete photon points. This is
similar in principle to many-light methods, but instead of
computing exact one-bounce illumination from the photon
sources, these methods compute approximate multi-bounce
illumination using the diffusion approximation from photon
points (for PD) or from photon beams (for our method, PBD).
1.2. Contributions
Our photon beam diffusion approach provides improvements
across this wide variety of previous methods. Specifically:
We provide a more efficient and numerically stable way to
~
(~ )L(~
x,~) = t L(~x,~) + Q(~x,~)
Z
+s
(1)
Lo (~xo ,~o ) =
S(~xi ,~i ;~xo ,~o )Li (~xi ,~i )(~n ~i ) d~i dA(~xi ). (2)
A 2
origin on a semi-infinite planar homogeneous medium. Photons refract through a Fresnel boundary and travel in the
downward direction until they are scattered by the medium,
and ultimately get absorbed or escape the material. The distribution of photons exiting the upper boundary forms a spatial
reflectance profile Rd (~x), which is radially symmetric (1D) for
normally-incident light, Rd (~x) = Rd (k~xk). General solutions to
the searchlight problem typically rely on brute-force Monte
Carlo particle tracing for validation, though exact solutions
do exist for special cases.
#
(zr (t) + 2zb ) (1 + tr dv (t)) etr dv (t)
,
dv3 (t)
4C (1/)
Rd (~x) 0
where x = k~xk, (wR (i) wi ) are the weights, and vi are the variances of normalized 2D Gaussians G2D . The equations necessary to obtain the weights and variances of the Gaussians are
themselves complex summations of integrals depending on
further weights wR (v, i), w~ER (v, i), which we omit here.
(4)
0
4D
dr (t)
dv (t)
!
,
0.08
0.04
Expected Behaviour
Quantized Diffusion
Expected Behaviour
Quantized Diffusion
wR
0.06
0.03
0.04
0.02
0
46
0.02
0.01
47
48
49
Variance
50
51
52
0
46
47
48
49
Variance
50
51
52
Rd (~x,~) =
(7)
i=0
(3)
k1
wER
(6)
(5)
10
Monte Carlo
Jensen Dipole
Quantized Diffusion
Ours (5 samples)
10
0.1
0.2
0.3
0.4
0.5
10
Monte Carlo
Jensen Dipole
Quantized Diffusion
Ours (5 samples)
Monte Carlo
Jensen Dipole
Quantized Diffusion
Ours (5 samples)
10
log (xRd (x))
Monte Carlo
Jensen Dipole
Quantized Diffusion
Ours (5 samples)
10
10
10
10
0.5
1.5
x
2.5
0.5
1.5
x
2.5
10
0.5
1.5
x
2.5
10
10
Monte Carlo
Jensen Dipole
Quantized Diffusion
Ours (5 samples)
Monte Carlo
Jensen Dipole
Quantized Diffusion
Ours (5 samples)
10
log (xRd (x))
10
10
10
10
Monte Carlo
Jensen Dipole
Quantized Diffusion
Ours (5 samples)
10
Monte Carlo
Jensen Dipole
Quantized Diffusion
Ours (5 samples)
10
10
10
0.1
0.2
0.3
0.4
0.5
10
0.5
1.5
x
2.5
0.5
1.5
x
2.5
10
0.5
1.5
x
2.5
Figure 3: Comparison of the standard dipole, QD, and our method (with correction) validated against Monte Carlo simulation
for multiple scattering only (top row) and combined with single scattering (bottom row). Our approach matches the quantized
diffusion profile, but uses only 5 samples compared to 66 Gaussians. By incorporating our correction factor, we are able to
surpass the fidelity of QD, avoiding divergence near the source and matching Monte Carlo much more faithfully.
3. Method
The core of our method is to numerically compute the extended source integral (4) using Monte Carlo integration with
importance sampling:
Rd (~x,~)
1
N
f (~x,~,ti )
pdf(ti |~x,~) ,
(8)
i=1
where f (~x,~,ti ) = r(~x,~xr (ti )) Q(ti ) is the integrand from (4) and
pdf(ti |~x,~) is the PDF of choosing ti given the shading location ~x and the beam direction ~.
Computing the integral in this way provides many practical
advantages. Firstly, it allows us to define our set of effective
basis functions (the summands of the above equation) by
carefully choosing the PDF. This allows us to obtain accurate
results with as little as N = 3..5 samples while supporting
asymmetric profiles from oblique incident illumination (see
Figure 1(b,c)), finite slabs, and multilayer materials. We also
introduce a correction term which improves the accuracy of
the underlying diffusion model near the incident beam, especially for highly scattering materials. This improvement is not
possible to incorporate into QD, but fits trivially within our
more flexible integration scheme. Finally, our approach alc 2013 The Author(s)
c 2013 The Eurographics Association and Blackwell Publishing Ltd.
log(1 i )
t0
with
pdfexp (ti ) = t0 et ti ,
(9)
h
(10)
(b a )(h2 + ti2 )
s=1
s=3
s=5
exact
10
log Rd (x)
log Rd (x)
10
10
10
10
0
10
15
0.2
0.4
0.6
0.8
s=1
s=3
s=5
exact
s=1
s=3
s=5
exact
10
log Rd (x)
log Rd (x)
10
Rd
+
10
5
10
15
0.2
0.4
0.6
0.8
s=1
s=3
s=5
exact
s=1
s=3
s=5
exact
10
log Rd (x)
log Rd (x)
10
i=1
1
N
wexp (t j , x) pdf
(11)
f (~x,~,t j )weq (t j , x)
,
)
exp (t j ) + weq (t j , x) pdfeq (t j |~x,~
j=1
10
10
1
N
10
10
10
0
10
x
15
0.2
0.4
0.6
0.8
In Figure 4 (bottom) we show how our tailored MIS strategy, with just 3 samples, matches the entire profile, including
the peak and the asymptotic tail behavior.
3.2. Correction Factor
Donner and Jensen [DJ07] noticed an overestimation of exitance near the incident light source when using the classic
dipole and proposed an empirical correction factor (t) =
1 et t that diminishes near-surface regions of Q(t). DEon
and Irving [dI11] instead used the improved model with
Kienle-Patterson exitance calculations and showed that the
resulting profiles were consistently more accurate. However,
we found that this improved model also suffers from overestimation for near-surface sources. Figure 3 (top) shows that
QDs multiple scattering in fact diverges as ~x approaches 0,
though the finite number of Gaussians avoids an actual singularity at ~x = 0. To account for this, we introduce an empirical
correction factor inspired by Donner and Jensens, but tailored for the improved diffusion model:
(~x,t) = 1 e2t (d(~x,~xr (t))+t) .
(12)
Reflectance Rd (x)
Transmittance Td (x)
60
80
60
80
60
80
QD PD
PD
Single Scattering
0
60
80
60
80
10
Monte Carlo
Jensen Dipole
Quantized Diffusion
Ours
10
Monte Carlo
Jensen Dipole
Quantized Diffusion
Ours
2
10
10
80
Ours
60
MC
10
Multiple Scattering
0
Ours
MC
10
0.5
1.5
0.5
1.5
Figure 7: An incident light beam (with radius 0.2/s ) illuminates a semi-infinite medium at angles 0 , 60 and 80
degrees from normal incidence. We compare Monte Carlo
reference (top), our multi-scattering (middle) using 50 beams,
and photon diffusion [DJ07] with the improved model (QD
PD) and classic model (PD) using an equivalent number of
samples (50 5 = 250 photons). The bottom compares Monte
Carlo single-scattering reference to our solution with 5 samples. (Parameters: 0s = 1, a = (0.01, 0.1, 1), = 1, g = 0.)
(13)
where ~~xr~x and dr (t) are the direction and distance from ~xr (t)
to ~x respectively, o = arccos(~~xr~x ~n), i = arccos(~ ~n), and
Ft and fs are the transmissive Fresnel and phase function
terms. Figure 1(b,c) illustrates the configuration.
We can then compute the single-scattering profile,
R(1) (~x,~), using the same Monte Carlo estimator (8), but with
f (~x,~,ti ) = r(1) (~x,~xr (ti )) Q(ti ). The single-scattering portion of
the BSSRDF, S(1), can then be defined in direct analogy to
Sd (3), but using R(1) instead of Rd . We can compute the
two profiles simultaneously (using the same points or rays),
adding minimal overhead to the calculations. However, if the
surface separates volumes with different indices of refraction,
we can use a separate sample sequence for single-scattering,
starting the integration not from the incident light angle, but
from the critical angle since contributions below the criti-
15 seconds
Photon Beam Diffusion (MS)
600 seconds
MC reference: Virtual Ray Lights (MS)
15 seconds
Photon Diffusion (MS)
Figure 10: Photon beam diffusion shows a faster multiple scattering convergence than PD due to the equiangular/exponential
MIS sampling, especially at oblique light angles (see insets). The left image shows our multiple scattering (MS) combined with
single scattering (SS) calculated using photon beams.
photon locations along the beams for each shading location
using equiangular sampling. Figure 10 shows a comparison
of the ground truth, photon diffusion, and our method, showing a faster convergence with less noise with our equiangular
diffusion sampling.
5. Conclusion and Future Work
Classic Dipole
irradiance, we have applied our improved profiles and numerical integration scheme on top of a photon beam tracer
to simulate diffusion from directional, oblique illumination.
Our implementation operates much like PD [DJ07], but we
store continuous, directional photon beams entering the surface instead of discrete photon points inside the medium (see
Figure 1(e) and compare to 1(d)). We use the stored photon
beams as extended beam sources and evaluate the multiple
scattering using our integration scheme and the improved diffusion model. Applying photon beam diffusion to oblique illumination on arbitrary geometries requires more careful handling of the boundary conditions. We blend between dipole,
multipole, and quadrupole boundary conditions as proposed
by Donner and Jensen [DJ07]. Our Monte Carlo integration
scheme (8) makes the link between these two explicit: each
Monte Carlo sample of the beam integral can be viewed as
a weighted photon at ~xr (ti ) inside the medium (a monopole),
which we can mirror exactly as in PD to compute the three
boundary conditions. By storing photon beams instead of discrete points during photon tracing, we can compute different
References
[AWB11] A RBREE A., WALTER B., BALA K.: Heterogeneous
subsurface scattering using the finite element method. IEEE Transactions on Visualization and Computer Graphics 17, 7 (2011),
956969. 2
[Cha60]
[CHS 12] C HRISTENSEN P. H., H ARKER G., S HADE J., S CHU BERT B., BATALI D.: Multiresolution radiosity caching for efficient preview and final quality global illumination in movies. Tech.
Rep. 12-06, Pixar, 2012. 9
[dE12] D E ON E.: A better dipole. Tech. rep., http://www.eugenedeon.com, 2012. 5
[dI11] D E ON E., I RVING G.: A quantized-diffusion model for
rendering translucent materials. ACM Transactions on Graphics
(Proc. SIGGRAPH) 30, 4 (2011), 56:156:14. 2, 4, 6, 9
[DJ05] D ONNER C., J ENSEN H. W.: Light diffusion in multilayered translucent materials. ACM Transactions on Graphics
(Proc. SIGGRAPH) 24, 3 (2005), 10321039. 2, 7
[DJ07] D ONNER C., J ENSEN H. W.: Rendering translucent materials using photon diffusion. Rendering Techniques (Proc. Eurographics Symposium on Rendering) (2007), 243252. 3, 6, 7,
10
[dLE07] D E ON E., L UEBKE D., E NDERTON E.: Efficient rendering of human skin. Rendering Techniques (Proc. Eurographics
Symposium on Rendering) (2007), 147158. 2
K RIVNEK
J., H AAN M., A RBREE A., DACHS C., K ELLER A., WALTER B.: Optimizing realistic
rendering with many-light methods. In SIGGRAPH 2012 Courses
(2012). 2
BACHER
[PBPP11] PAJOT A., BARTHE L., PAULIN M., P OULIN P.: Representativity for robust and adaptive multiple importance sampling.
IEEE Transactions on Visualization and Computer Graphics 17,
8 (2011), 11081121. 6
[Gro58] G ROSJEAN C. C.: Multiple isotropic scattering in convex homogeneous media bounded by vacuum. In Proc. Second
International Conference on the Peaceful Uses of Atomic Energy
(1958), vol. 413. 2
[PH10] P HARR M., H UMPHREYS G.: Physically Based Rendering: From Theory To Implementation, 2nd ed. Morgan Kaufmann,
2010. 1, 2
[Spa66] S PANIER J.: Two pairs of families of estimators for transport problems. SIAM Journal on Applied Mathematics 14, 4
(1966), 702713. 2
[Her12] H ERY C.: Texture mapping for the better dipole model.
Tech. Rep. 12-11, Pixar, 2012. 5
[Sta95] S TAM J.: Multiple scattering as a diffusion process. Rendering Techniques (Proc. Eurographics Workshop on Rendering)
(1995), 4150. 2
J ENSEN H. W., M ARSCHNER S. R., L EVOY M., H AN P.: A practical model for subsurface light transport. Computer Graphics (Proc. SIGGRAPH) 35 (2001), 511518. 2, 3, 4,
8
RAHAN