Page 1
Volume xx (200y), Number z, pp. 1–11
Interactive Rendering of Translucent Objects
Hendrik P.A. LenschMichael Goesele Philippe Bekaert Jan Kautz
Marcus A. MagnorJochen Lang HansPeter Seidel
MaxPlanckInstitut für Informatik
Saarbrücken, Germany
Abstract
This paper presents a rendering method for translucent objects, in which view point and illumination can be
modified at interactive rates. In a preprocessing step, the impulse response to incoming light impinging at each
surface point is computed and stored in two different ways: The local effect on closeby surface points is modeled
as a pertexel filter kernel that is applied to a texture map representing the incident illumination. The global
response (i.e. light shining through the object) is stored as vertextovertex throughput factors for the triangle
mesh of the object. During rendering, the illumination map for the object is computed according to the current
lighting situation and then filtered by the precomputed kernels. The illumination map is also used to derive the
incident illumination on the vertices which is distributed via the vertextovertex throughput factors to the other
vertices. The final image is obtained by combining the local and global response. We demonstrate the performance
of our method for several models.
Categories and Subject Descriptors (according to ACM CCS): I.3.3 [Computer Graphics]: Picture/Image Generation
Display Algorithms I.3.7 [Computer Graphics]: ThreeDimensional Graphics and Realism Color Color, Shading,
Shadowing and Texture I.3.7 [Computer Graphics]: ThreeDimensional Graphics and Realism Color Radiosity
1. Introduction
On the appropriate scale, the visual appearance of most nat
ural as well as synthetic substances is profoundly affected
by light entering the material and being scattered inside9.
Examples of materials whose macroscopic appearance de
pends on the contribution from subsurface scattered light in
cludebiological tissue(skin, leaves,fruits),certainrocksand
minerals (calcite, fluorite, silicates), and many other com
mon substances (snow, wax, paper, certain plastics, rubber,
lacquer). Depending on the scale of display, conventional,
surfacebased reflection functions may only unconvincingly
mimic the natural visual impression of such materials (see
Figure 1).
Previous rendering algorithms handling subsurface scat
tering do not nearly allow interactive image synthesis (see
Section 2 for an overview). However, light particles trav
eling through an optically dense medium undergo frequent
scattering events causing severe blurring of incident illumi
nation. The rendering method proposed in this paper takes
advantage of this smoothing property of highly scattering
Figure 1: A back lit marble horse sculpture. Left: using a
traditional surface based light reflection model. Right: tak
ing into account subsurface scattering of light. Translucency
effects are very clear in particular at the ears and the legs.
The sculpture measures about 5cm head to tail. This paper
presents a rendering method which convincingly reproduces
translucency effects as shown in the right image, under dy
namicviewingandilluminationconditions and atinteractive
rates.
submitted to COMPUTER GRAPHICS Forum (1/2003).
Page 2
2
Lensch et al. / Interactive Rendering of Translucent Objects
media by factoring the light impulse response on the sur
face of a translucent object into a high frequency local part
and a low frequency global part. We show that the impulse
response can be precomputed efficiently, stored compactly
and processed rapidly in order to allow interactive rendering
of translucency effects on rigid objects at interactive rates
under dynamic viewing and lighting conditions.
2. Previous Work
The algorithm in this paper draws upon previous work in
the areas of global illumination, real time local shading with
complex BRDFs and database approaches for reflectance.
Usually in global illumination, one assumes that a scat
tered light particle leaves a lit surface at the location of in
cidence itself. The relation between the intensity of light
scattered at x into an outgoing direction ωo and the inten
sity of incident illumination at x received from a direction
ωiis given by the BRDF (bidirectional reflectance distribu
tion function) fr
only a valid assumption for a metal surface or for a smooth
boundary between nonscattering media. In other cases, a
light particle hitting a surface at a first location xifrom di
rection ωimay emerge at a different surface location xo.
?x
? ωi
? ωo
? . However, local light scattering is
This phenomenon can be simulated with a number of al
gorithms that have been proposed for global illumination in
the presence of participating media, including finite element
methods21
and photon mapping10
Also, thepropagation of electromagnetic radiation inscatter
ing media is a wellstudied topic outside of computer graph
ics in fields such as medical imaging, atmosphere and ocean
research and neutron transport9
mination are often instances of methods used in these other
fields. In optically dense media, such methods can be quite
expensive, with typical image rendering times in the range
from 10 minutes to several hours for static illumination and
viewing parameters.
? 1
? 23, path tracing6, bidirectional path tracing15,
? 4, or by a diffusion simulation26.
? 25. Methods for global illu
Nonlocal light scattering at a surface can however
also be modeled explicitly, by means of the BSSRDF
(bidirectional subsurface scattering reflectance distribution
function)
sented for single6and multiple11subsurface light scattering
in homogeneous materials. These models can be used in a
ray tracer, much in the same way as traditional BRDF mod
els. The most prominent difference is that they require two
surface locations rather than one. However, these BSSRDF
models are much more complex than typical BRDF models
(see for instance Figure 2), so that rendering times for com
mon image resolutions still are in the order of seconds to
minutes per frame.
?
?xi
? ωi;xo
? ωo
? . BSSRDF models have been pre
Realtime rendering of objects with complex BRDFs has
been done with a variety of techniques2
niques assume point light sources or distant illumination
? 8
? 13
? 12. These tech
???xi
?ωi;xo
?ωo
???
1
πFt
α
4π
?η
?ωi
?Rd
?xi
?xo
?Ft
?η
?ωo
?
Rd
?xi
?xo
???
zr
zv
dr
dv
?
?
zr
?1
? σtrdr
?
e
?
σtrdr
d3
r
e
?
zv
?1
? σtrdv
?
?
σtrdv
d3
v
?
?
1
? σ
?t
?
zr
? 4AD
??? xr
? xo
xo
? , with xr
?
xi
xi
? zr
?Ni
??? xv
?
? , with xv
?
? zv
?Ni
A
?
1
1
? Fdr
? Fdr
Fdr
?
?
1
? 440
η2
?
0
? 710
η
? 0
? 668
? 0
? 0636η
D
?
1
? 3σ
3σaσ
σa
reduced scattering coefficient (given)
absorption coefficient (given)
relative refraction index (given)
Fresnel transmittance factor
in and outscattering location (given)
in and outscattering direction (given)
surface normal at xi(given)
?t
σtr
σ
σ
σa
???
?t
?t
?
? σ
?s
;
α
?
?
σ
?s
? σ
?t
?s
?
?
η
?
Ft
?η
xi
?ω
???
?xo
?
ωi
?ωo
Ni
?
?
1e−07
1e−06
1e−05
0.0001
0.001
0.01
0.1
1
02468101214161820
GREEN
RED
BLUE
Figure 2: The BSSRDF model (from11) used in this pa
per. Constants for some materials are also found in11.
The graphs show the diffuse reflectance due to subsur
face scattering Rdfor a measured sample of marble with
σ
η=1.5. Rd
plane, due to unit incident power at the origin. Subsurface
scattering is significant up to a distance of several millime
ters in marble. The graphs also explain the strong color fil
tering effects observed at larger distances.
?s=(2.19,2.62,3.00)
????? , σa=(0.0021,0.0041,0.0071)
????? and
?r
? indicates the radiosity at a distance r in a
? ??? RGB color triplet
submitted to COMPUTER GRAPHICS Forum (1/2003).
Page 3
Lensch et al. / Interactive Rendering of Translucent Objects3
(environment maps) and usually do not allow spatial vari
ation of the BRDF. None of these techniques can be ap
plied to subsurface scattering for translucent objects, since
the influence on incident light is not local anymore. Recent
work on interactive global illumination of objects24, includ
ing selfshadowing and interreflections, can probably be ex
tended to subsurface scattering. But this method assumes
lowfrequency distant illumination, whereas our method al
lows highfrequency localized illumination.
Imagebased techniques like light fields16
light field18
they can be interactively displayed for different views. The
outgoing radiance isrecorded and storedin asort of database
which then can be efficiently queried for assembling new
views. Light fields can represent the outgoing radiance of
an object which exhibits subsurface scattering under fixed
illumination. Relighting of the object requires to addition
ally record the dependency on the incident illumination. Re
flection fields3parameterize the incident illumination by its
direction only. Although different illumination can be simu
lated by use of different environment maps, it is not possible
for example to cast a shadow line onto the object. The direc
tional dependency is not sufficient to represent local varia
tion of the illumination on the object’s surface.
? 5or surface
? 28represent the appearance of objects such that
Our approach for the representation of translucent objects
takes the spatial variation of incident illumination into ac
count while the directional dependency is not stored explic
itly. This approach will be motivated in the following sec
tion.
3. Background and Motivation
In order to compute the shade of a translucent object at a
surface point xo, observed from a direction ωo, the following
integral needs to be solved:
L
!
?xo
? ωo
?#"%$
S
$
Ω
&
?xi
?
L
'
?xi
? ωi
?
?
?xi
? ωi;xo
? ωo
? dωidxi
(
S denotes the surface of the object and Ω
sphere of directions on the outside of the surface at xi. Note
that the BSSRDF
at xointo direction ωodue to incident radiance at xicoming
from direction ωi, is an eightdimensional function, so that
naive precomputation and storage approaches are not feasi
ble in all practical cases.
)
?xi
? is the hemi
? , which represents the outgoing radiance
Previous subsurface scattering studies6
that:
? 11however reveal
*
subsurface scattering can be accurately modeled as a sum
of a single scattering term and a multiple scattering term;
single scattering accounts for at most a few percent of
the outgoing radiance in materials with high scattering
albedo, like marble, milk, skin, etc...— we will ignore
single scattering in this work;
multiple scattering diffuses incident illumination: any re
lationbetween directions of incidence and exitance islost.
*
*
As a result, subsurface scattering in highly scattering ma
terials can be represented to an accuracy of a few percent
by a fourdimensional diffuse subsurface reflectance func
tion Rd
with differential incident flux at xi:
?xi
? xo
? , which relates scattered radiosity at a point xo
L
!
?xo
? ωo
?+"
1
πFt
?η
? ωo
? B
?xo
?
(1)
B
?xo
?+"
$
SE
?xi
? Rd
?xi
? xo
? dxi
(2)
E
?xi
?+",$
Ω
&
?xi
?
L
'
?xi
? ωi
? Ft
?η
? ωi
?. Ni
/ωi
 dωi
(3)
The Fresnel transmittance factors Ft indicate what fraction
of the flux or radiosity is transmitted at a surface boundary.
The Fresnel factor in Equation 3 indicates what fraction of
incident light enters the translucent object. In (1), it models
what fraction of light coming from underneath reappears
in the environment. The remainder reenters the object, for
instance due to total internal reflection if the object has a
higher refraction index than its surrounding. A fast approxi
mation of Fresnel factors has been proposed in22. The factor
1
0 π in (1) converts radiosity into exitant radiance.
The diffuse subsurface scattering reflectance Rdin (2)
plays a somewhat similar role as the radiosity integral kernel
G
?x
? y
? in the radiosity integral Equation
B
?x
?1"
Be
?x
?32 ρ
?x
?4$
SG
?x
? y
? B
?y
? dy
(4)
G
?x
? y
?1"
 Nx
/ωxy
π
5 Ny
/ωxy

6 x
7 y
62
vis
?x
? y
?
(
where B
radiosity, ρ
necting x and y and vis
tors like G
usually called (differential) throughput factors.
?x
? denotes the radiosity at x, Be
? the reflectivity, ωxythedirection of a linecon
?x
? the selfemitted
?x
?x
? y
? is the visibility predicate. Fac
?x
? y
? in radiosity and Rd
?xi
? xo
? in our case, are
The main idea of this paper is to discretize Equation (2),
much in the same way as the the radiosity integral equa
tion (4) is discretized in Galerkin radiosity methods7
throughput factors that result from discretization of the ra
diosity equation are better known as form factors. Note how
ever that form factors in radiosity encode purely geometric
information about ascene to be rendered and that theydo not
directly allow to rerender a scene under dynamic lighting
conditions. The subsurface scattering reflectance Rd
encodes besides geometric information also the volumetric
material properties anywhere in the object relevant for light
transport from xito xo: it is the Green’s function (impulse
response, global reflectance distribution function14) of the
volumetric rendering equation inside the object. In radiosity,
the Green’s function does in general not result in practical
relighting algorithms due to its high storage cost. The pri
mary goal of this paper is to demonstrate that explicit rep
resentation of the Green’s function however is practical for
dynamic relighting of translucent objects. This is because
? 29. The
?xi
? xo
?
submitted to COMPUTER GRAPHICS Forum (1/2003).
Page 4
4
Lensch et al. / Interactive Rendering of Translucent Objects
Figure 3: Work flow during rendering: first, incident illumination is computed and projected into the texture atlas. The resulting
illumination map is processed in two ways. The global response (upper branch) is computed by projecting the illumination
to the mesh vertices and multiplying the vertex irradiance vector with a vertextovertex throughput factor matrix. The local
response (lower branch) is computed by filtering the incident illumination map with spatially varying 7
kernels. Finally the global and the local response are combined.
8 7 texeltotexel filter
Rdis in general a much smoother function than the Green’s
function for radiosity.
In this paper, we will use the diffuse subsurface scatter
ing reflectance model from11(see Figure 2). This model
has been derived for scattering at a planar boundary sur
face between homogeneous materials. It is in principle not
valid for curved surfaces and neither for heterogeneous ma
terials, although using it in such cases often yields plausible
results. Thispaper however focuses on the feasibility of stor
ing and using the Green’s function for interactive rendering
of translucent materials. A proper treatment of curved sur
faces and heterogeneous materials requires a more sophis
ticated preprocessing than shown here, and is the topic of
future work. However, it does not affect the rendering algo
rithm itself proposed in this paper.
4. Outline
Our method is based on a discrete version of the integral ex
pression in Equation 2 at which we arrive with a Garlekin
type approach. In this approach we employ two different
setsof basisfunctionsarrivingat twodifferent discretization.
One set of basis functions are hat functions placed at object
vertices in order to model subsurface scattering at large dis
tances (smooth global part). The other set of basis functions
are piecewise constant corresponding to the texels in a tex
ture atlas (discussed below) in the immediate neighborhood
of apoint, in order toaccurately model Rdat small scattering
distances (detailed local part). Each of the two discretiza
tions proceed as follows:
1. We fix a set of spatial basis functions ψi
functions we use are discussed below;
?x
? . The basis
2. We project the irradiance E
senbasis: thecoefficientsEiin˜E
arefound by calculatingscalar products of E
basis functions ˜ ψi
?x
? (Equation 3) onto the cho
∑iEiψi
?x
??"
?x
??9
E
?x
? ,
?x
? withdual
?x
? :
Ei
"
$
SE
?x
? ˜ ψi
?x
? dx
(5)
The dual basis functions are the unique set of linear com
binations of the primary basis functions ψ
the following orthonormality relations:
?x
? that fulfill
$
Sψi
?x
? ˜ ψj
?x
? dx
"
δij
(
δijdenotes Kroneckers delta function (1 if i
wise);
3. Equation 2 is transformed into a matrixvector multipli
cation:
"
j, 0 other
Bj
" ∑
i
EiFij
(6)
with throughput factors
Fij
"%$
S
$
Sψi
?x
? Rd
?x
? y
? ˜ ψj
?y
? dydx
(7)
4. The radiosity B
as
?y
? at surface position y is reconstructed
B
?y
?:9 ∑
j
Bjψj
?y
?
(
(8)
Equation 1 shows how radiosity is converted into outgo
ing radiance for a particular direction.
Two discrete representations of the same problem are of
course redundant. We apply such a double representation to
submitted to COMPUTER GRAPHICS Forum (1/2003).
Page 5
Lensch et al. / Interactive Rendering of Translucent Objects5
Figure 4: Example of a texture atlas for the bird model.
Inner triangles are drawn in green, border triangles are
marked in red.
exploit the advantages of each, however appropriate blend
ing will be necessary for correct results. The work flow for
rendering an image is illustrated in Figure 3.
Our method has to address the following subproblems,
which are discussed in detail below:
*
Preprocessing: generation of a texture atlas for the input
model; computation of throughput factors from each texel
to a 9
computation of weights for distributing the illumination
ineach texture atlastexel to thenearest triangle verticesas
well as for reconstructing the illumination from the near
est triangle vertices and computation of vertextovertex
throughput factors (smoothglobal response); computation
of factors for blending the local and global response;
At rendering time: computation of the irradiance in each
texture atlas texel (incident illumination map); distribu
tion of the irradiance in each texel to triangle mesh vertex
irradiance and application of the precomputed vertexto
vertex throughput factors in order to obtain the scattered
radiosity at each vertex (global response); convolution of
the incident illumination map with the precomputed tex
ture filter kernels (local response); blending of local and
global responses using the precomputed blending factors.
8 9 texel neighborhood (detailed local response);
*
5. Preprocessing
The preprocessing phase of the proposed algorithm consists
of two steps – the generation of a texture atlas for the input
model and the calculation of the local and global light dis
tribution for light hitting an object at a single point (Green’s
functions).
5.1. Geometry Preprocessing
All rendering results presented here are based on triangle
models which are reduced to less then 20000 triangles. Dur
ing simplification we try to obtain equilateral triangles of
similar size.
To obtain a 2D parameterization of the object surface, we
generate a texture atlas. The atlas is generated by first split
ting the triangular mesh of the model into different partial
meshes and orthographically projecting each partial mesh
onto a suitable plane. The angle between the normals of the
projected triangles and the plane normal are kept small to
avoid distortion and ensure best sampling rate. Starting with
a random triangle, we add an adjacent triangle to a partial
mesh if the deviation of the triangle’s normal compared to
the average normal of the partial mesh is below some thresh
old, e.g. 30 degrees. We also add to each partial mesh a bor
der formed by adjacent triangles. The width of the border is
required to be at least 3 texels to provide sufficient support
for applying the 7
tial mesh. The border triangles may be distorted in order to
fulfill this constraint.
8 7 filter kernels to the core of the par
All projected partial textures are rotated to ensure that the
area of their axisaligned bounding box is minimal27
generic packing algorithm generates a dense packing of the
bounding boxes into a square texture of predefined size. The
algorithm is able to scale the size of the bounding boxes us
ing a global scaling factor in order to ensure dense packing.
Figure 4 shows an example texture atlas for the bird model.
? 20. A
5.2. Global response
Subsurface scattering at larger distances tends to be very
smooth and amenable to representation by means of vertex
tovertexthroughput factorsusinglinear interpolationof ver
tex radiosities.
Linear interpolation of vertex colors is wellknown in
graphics under the name of Gouraud interpolation. On a tri
angle mesh, it corresponds to representing a color function
by its coefficients w.r.t. the following basis functions:
ψg
1
;
2
where x
β1
β2
three vertices of the triangle containing x. The β’s are the
barycentric coordinates of x in the triangle v1
that β3
1
β2
tion ψg
tions ψg
i
containing x. When plotted, these basis functions look like
“hats” centered at each mesh vertex.
?x
?;"
β1
?x
?
ψg
?x
?<"
β2
?x
?
;
ψg
3
?x
?#"
β3
?x
?
(
"
?x
? v1
2
?x
? v2
2
β3
?x
? v3with v1
? v2
? v3the
? v2
? v3. Note
?x
?."
7 β1
?x
?
7
?x
? . We associate a basis func
iwith every vertex i in the triangle mesh. The func
?x
? are zero for all vertices vioutside the triangle
We will need to project the irradiance E
sis: E
∑iEg
i
scalar products (5) with the dual basis functions ˜ ψg
ψg
vertices of the triangle containing x. The three nonzero val
ues are
3
Aν
?x
iare given by
iof the
? to such a ba
?x
?=9
iψg
?x
? . The coefficients Eg
i. These dual functions are also zero except for the three
˜ ψg
ν
?x
?<"
?4βν
?x
?
7 1
?
submitted to COMPUTER GRAPHICS Forum (1/2003).
Page 6
6
Lensch et al. / Interactive Rendering of Translucent Objects
where Aν is the sum of the areas of the triangles sharing
vertex ν, ν being a vertex of the triangle containing x.
The throughput factors (7) are approximated in the fol
lowing way, which requires to evaluate the diffuse subsur
face scattering reflectance Rdonly once for each pair of
mesh vertices
?vi
? vj
? :
Fij
9
Rd
?vi
? vj
?
/
$
Sψi
?x
? dx
/
$
S
˜ ψj
?y
? dy
"
Ai
3Rd
?vi
? vj
?
(
Thematrixvector product (6) then resultsinthescatteredra
diosity Bg
for intermediate surface points y isfound by linear interpola
tion: Bg
∑jBg
is over the three vertices of the triangle containing y.
jat the mesh vertices vj. The global radiosity Bg
?y
?
?y
??"
jψj
?y
??"
∑νBg
νβν
?y
? wherethe latter sum
5.3. Local response
Subsurface scattering reflectance is however quite large at
small distances (a range of up to about 2mm for marble, see
Figure2), sothatdetail inincident illuminationsuchassharp
shadow boundaries willbepreserved. Forthisreason, amore
accurate representation will berequired for thethroughput in
theimmediateneighborhood of apoint wherelight entersthe
translucent object. We model this by means of 7
totexel throughput filter kernels centered at each nonempty
texel of the texture atlas.
8 7 texel
Mathematically, this corresponds to projecting to a piece
wise constant basis functions ψl
1 on the part S
gle texture atlas texel
There is one such basis function per nonempty texture atlas
texel. The dual basis functions in ˜ ψl
stant in the same way, except that they take a value 1
instead of 1 on S
computed as a side result of texture atlas generation.
?u
> v
?. The basis functions are
?u
? v
? of the model surface projected in a sin
?u
? v
? and they are 0 everywhere else.
?u
> v
?
are piecewise con
0 A
?u
? v
?
?u
? v
? . A
?u
? v
? is the area of S
?u
? v
? and is
By Equation 5, the irradiance coefficients El
respond to the average irradiance on S
proximate them by the value at the center point in the
texel. The texeltotexel throughput factor (7) between
texeland is approximated as K
A
surface points xc corresponding to the center of the tex
els. These texeltotexel throughput factors can be viewed
as nonconstant irradiance texture filter kernels. Equation 6
then corresponds to a convolution of the irradiance texture.
The convolved (blurred) texture shows the locally scattered
radiosity Bl
?u
? v
? cor
?u
? v
? . We will ap
?u
? v
?
?s
? t
?
?u
> v
?
?s
? t
??"
?u
? v
? Rd
?xc
?u
? v
?
? xc
?s
? t
?@? with Rdbeing evaluated at the
?y
? .
5.4. Blending Local and Global Response
The global and the local response cannot be simply added
to obtain the correct result. In the regions of direct illumina
tion, both contributions will add up to approximately twice
the correct result. However, the radiosity Bgcalculated in
Figure5: a) Ideal impulse response. b) Local response mod
eled by the filtering kernel (red) c) Linear interpolation of
the global response resulting from distributing the irradi
ance and evaluating the form factor matrix F. d) Optimized
global and local response: The diagonal of F0is set to zero,
the weights for Bd
i(green dots) are optimized to interpolate
the boundary of the filter kernel (blue dots), the blue area is
subtracted from the filter kernel.
Section 5.2 will have the largest interpolation error near the
point of light incidence while Bl(Section 5.3) returns the
more accurate response for points close to direct illumina
tion (see Figure 5). Blis actually only available for those
points. Our choice is to keep the texel accurate filter kernel
for the local radiosity since it represents the best local re
sponse of our model. Thus, we somehow have to reduce the
influence of the lowfrequency part at small scattering dis
tances and must ensure smooth blending between the local
andglobal response wheretheinfluence ofthelocalresponse
ends.
The global radiosity Bgdue to direct illumination corre
sponds to the diagonal of the form factor matrix F. The di
agonal entries are set to zero yielding F0. To obtain smooth
blending we introduce a new radiosity vector Bd
rectly derived from the illumination map in a way described
below. Using this new radiosity vector, the combined radios
ity response will be obtained as
iwhich is di
B
?x
?A"
Bl
?x
Eg
?32 Bd
?x
?32 Bg0
?x
?
Bg0
j
" ∑
i
iF0
ij
(9)
For each texel
to determine its optimal contribution wi
radiosity Bd
iof the three vertices viof the enclosing trian
gle. Our approach is to minimize the difference between the
global radiosity and the correct radiosity for each texel
on the boundary Γ of its filter kernel K
radiosity at Γ is found by calculating a larger filter kernel
K9
Γ of the 9
?u
? v
? of the illumination map, we have
?u
? v
? to the direct
?s
? t
?
?u
>v
?
?s
? t
? . The correct
B 9
?u
>v
?
?s
? t
? . Notice that the influence of the 7
8 7 kernel on
8 9 kernel is exactly zero. Stated mathematically,
submitted to COMPUTER GRAPHICS Forum (1/2003).
Page 7
Lensch et al. / Interactive Rendering of Translucent Objects7
the problem is to find wν
?u
? v
? so that
∑
?s
>t
?DCΓ
EK9
B 9
?u
> v
?
?s
? t
? E
?u
? v
?
7 Bg0
?xc
?s
? t
?F?
7 E
?u
? v
?
/
3
∑
ν
G 1
ψg
ν
?x
?u
? v
?@? wν
?u
? v
?IH
2
is minimal. xc
center of texel
over the vertices ν of the triangle containing x, and Bg0
given in Equation 9.
?s
? t
? is the surface point corresponding to the
∑νψg
?s
? t
? and Bg0
?x
?;"
ν
?x
? Bg0
ν. The sum is
ν is
After correcting the global response, we also have to
change the filter kernels. The interpolated values of the
global response have to be subtracted from each kernel, cor
responding to the blue area in Figure 5.
This optimization has to be done for every texel. It is per
formed as a preprocessing step and takes just a few minutes.
The irradiance at each texel is now distributed to two differ
ent vectors: to Eg
the Bd
iusing the weights w described in this section.
iusing the dual basis functions ˜ ψgand to
6. Rendering
After preprocessing, the rendering is straightforward. In or
der to render a translucent object interactively, we first com
pute an illumination map and then split the computation into
two branches. The first one derives the irradiance at each
vertex from the illumination map and computes the smooth
global response. The second branch evaluates the local re
sponse by filtering the illumination map. Both branches can
be executed in parallel on a dual processor machine. Finally,
the global and the local response are combined.
6.1. Computing the Illumination
For anilluminated object, we need toconvert itsillumination
from object space into texture space since the precomputed
filter works in texture space. Furthermore, we have to inte
grate over the illumination map in order to compute the irra
diance at the vertices. For the conversion to texture space we
use the parameterization of the object given by the texture
atlas.
The illumination map can be created easily by render
ing the object by not using its 3D vertex positions but its
2D texture coordinates from the texture atlas. This flattens
the object according to the atlas and the result is a texture
containing the illumination. Some care has to be taken that
the lighting is computed correctly even though the geometry
is projected into 2D. We do this by computing the lighting
in a vertex shader17using the original 3D vertex position
and normal. Furthermore, we include a Fresnel term in the
lighting calculations for which we use Schlick’s approxima
tion22, which can be computed in the vertex shader as well.
The rendered illumination map is then read back from the
frame buffer and stored. In Figure 3a) and b) the illumina
tion on the object and the corresponding illumination map
derived using the texture atlas are shown.
Once the irradiance at each texel
can integrate it to obtain the irradiance for each vertex. In
order to distribute the texel irradiance correctly to vertex ir
radiance, we follow Equation 5. The vertex irradiance Eg
given as
Eg
i
i
?u
? v
? is computed, we
iis
" ∑
?u
> v
?
˜ ψg
?u
? v
? E
?u
? v
? A
?u
? v
?
?
(10)
the sum over all texels in the illumination map times the
value at the current texel of the dual basis function corre
sponding to the vertex, times the area A
surface S
nation at each texel is distributed to exactly three different
vertices. The weights ˜ ψg
i
an image of the same resolution as the texture atlas.
?u
? v
? of the model
?u
? v
? covered in the texel. As a result, the illumi
?u
? v
? A
?u
? v
? are precomputed into
The same distribution mechanism is also applied to ob
tain the second radiosity vector Bd
the weights wi
tion.Distributingtheilluminationmaptotwovectorsinstead
of just one does not significantly influence rendering perfor
mance.
i(Section 5.4). This time,
?u
? v
? are used instead of the dual basis func
6.2. Low Frequency Reconstruction
Given the irradiance at the vertices, the low frequency or
global response is calculated with the throughput factors of
Section 5.2. The resulting radiosity Bg
on the transfer functions matrix F is then found by
Bg
j
i
iat the vertices based
" ∑
Eg
iFij
(
(11)
As previously discussed, the radiosity at a particular point
x on a triangle is interpolated using the barycentric basis
ψg
ν
?x
? with respect to the vertices of the triangle.
Bg
?x
?#"
3
∑
ν
G 1
ψg
ν
?x
? Bg
ν
(12)
Depending on the size of the model and the scattering pa
rameters, the entries in the matrix may drop to very small
values. In these cases a full N
tiplication may be more costly than ignoring form factors
below 10
the overhead of representing a sparse matrix paid off if 40
percent of the form factors could be ignored.
8 N matrix times vector mul
J
5using just a sparse matrix. In our experiments
If desired, surface appearance detail can be added by
means of a surface texture Tρ which modulates the radios
ity. Tρ represents the overall reflectance at each texel. Since
the form factor matrix F already computes the radiosity at
the vertices correctly, we have to ensure that those values are
not changed by the texture. Therefore we divide the vertex
submitted to COMPUTER GRAPHICS Forum (1/2003).
Page 8
8
Lensch et al. / Interactive Rendering of Translucent Objects
radiosity by its corresponding texture value prior to multipli
cation with the texture:
BT
i
i
The complete lowfrequency response is then given by
"
Bg
0 Tρ
?vi
?
(13)
Bg
?x
?<"
Tρ
?x
?
3
∑
ν
G 1
ψg
ν
?x
? BT
j
(
(14)
6.3. Local Response
According to the factorization described in Section 3, the
local response to a light impulse impinging on the surface
at point x is represented by a 7
in texture space centered at the corresponding texel
Each point or texel may possess a different filter kernel. The
resulting radiosity due to local response is thus computed by
a convolution for each texel:
8 7 filter kernel K
?u
> v
?
?s
? t
?
?u
? v
? .
Bl
?x
?K?
K
Lu
M v
N
?s
?t
?PO
E
?s
?t
?3?
∑
Ls
Mt
N Q 7
R 7
K
Lu
M v
N
?s
?t
?E
?s
?t
?
(15)
Since the filter kernels for each texel are different, we cur
rentlyimplement thisstepinsoftware. Aftertheconvolution,
the filtered illumination map is reloaded as a texture and ap
plied during the final composition. In future work, we plan
to map also the convolution to graphics hardware. On some
systems convolution with a single kernel is already available
as an OpenGL extension. One could think of performing a
principle component analysis on the kernels, use hardware
filtering for principle kernels and finally blend the results.
Another way would be using 7
are offset by the correct position in the filter kernel and then
multiplied with the illumination map, adding up the 49 con
tributions in the frame buffer.
8 7 weighting textures which
6.4. Combining Local and Global Response
Local and global response are combined in one hardware
accelerated rendering step using multitexturing. Register
combiners are set up in such a way the the vertex radios
ity is multiplied with the surface texture Tρ and at the same
time the filtered illumination map corresponding to the local
response is added.
7. Results
We report the performance of our system during tests with
four different models (see color page). We performed one
test with a horse model made of homogeneous white marble
(parameters taken from11), and a second test on the same
horse model but with the white marble augmented by dark
veins produced by Perlin noise19. We rendered a bust model
with skim milk, and we applied a completely synthetic ma
terial to a bird model.
Thepreprocessing timefor all models arearound 12 min
utes for calculating the filter kernels and around 28 minutes
Figure 6: Optimizing the blending: A checkerboard is pro
jected on a bust (left). Triangles in the hair region crossing
the border lead to artifacts (middle). The optimized blending
yields much better results (right).
for computing the vertextovertex form factors. The filter
kernels are computed for a 512
computation of theglobal part onlythevertextovertex form
factorsabove thethresholdof 10
column in Table 1 shows the number of form factors above
this threshold.
8 512 texture atlas. In the
J
5areconsidered. Thethird
All models can be rendered and relit at interactive frame
rates. Table 1 lists how much of the rendering time is spent
on each individual step of the rendering procedure. The tim
ings were collected on a dual 1.7 GHz Xeon PC with 1GB
of RAM, using a GeForce3 graphics card. The local and the
global response are computed in two parallel threads such
that the total time is less than the sum of the individual tasks.
Table 1 shows that the number of form factors during the
computation of the global response has a major influence on
the rendering time.
For each model we currently use aresolution of 512
to render the illumination map which is also the resolution
of all other maps. In the future we hope to be able to improve
the resolution by performing the convolution in hardware.
8 512
Figure 8 illustrates how the final result is composed of the
local response and the global response. Notice the color fil
tering effect for light transport to distant points which is es
pecially observable at the legs. This effect is visible to some
degree in all models.
The effect of optimizing the blending between the lo
cal and global part is demonstrated in Figure 6. Note that
without the optimization severe artifacts are exhibited at il
lumination discontinuities. The nonoptimized result is also
too bright overall. These artifacts are almost completely re
moved by the optimization.
8. Conclusion and Future Work
We have developed a system for the interactive rendering
of translucent objects. The basic idea is to represent the
submitted to COMPUTER GRAPHICS Forum (1/2003).
Page 9
Lensch et al. / Interactive Rendering of Translucent Objects9
ModelNumber of
Form Factors
FpsTimings [ms]
LocalVerticesIllumination Map GlobalDisplayTotal
horse10000 164414602.329149 37133 431
horse textured10000 12409116 2.729145 30233 364
bust8574 49467645.0 24147 14428199
bird4000 17508625.6 16 13986 26 180
Table 1: Rendering Times: The given frame rate and the timings for each model are obtained with the number of vertices and
the number of relevant vertextovertex form factors listed in the table. The table lists timings for the steps of our algorithm:
rendering the illumination map, computing the local response by filtering, distributing the illumination to the vertices and
performing vector/matrix multiplication for the global response. Note that the total timings are such that all four models can be
rendered and relit at interactive frame rates.
impulseresponse as a high frequency local part and a low
frequency global part. The paper shows that storage is fea
sible, and interactive rendering under dynamic viewing and
illumination conditions is achieved.
Inthe futurewe would like toshow the applicabilityof the
presented method to heterogeneous materials. More compli
cated algorithms have to be applied during the preprocessing
to determine the form factor matrix and the local filter ker
nels while the rendering procedure will be exactly the same.
We also think, it may be worthwhile to investigate which
additional parts of the rendering could be computed directly
on the graphics board. This may affect the filtering for the
local response, or the computation of the vertex irradiances.
Acknowledgements
We would like to thank Jens Vorsatz, Christian Roessl and
Kolja Kähler for providing and simplifying the geometric
models.
Part of this work has been funded by the DFG Schwer
punktprogramm V3D2, an NVidia fellowship, and by the
European Community within the scope of the ViHAP3D
Project IST200132641 “Virtual Heritage: HighQuality
3D Acquisition and Presentation.”
References
1.Philippe Blasi, Bertrand Le Saëc, and Christophe
Schlick.A rendering algorithm for discrete volume
density objects. ComputerGraphics Forum,12(3):201–
210, 1993. 2
2.B. Cabral, M. Olano, and P. Nemec. Reflection Space
Image Based Rendering. In Proc. SIGGRAPH, pages
165–170, August 1999. 2
3. P. Debevec, T. Hawkins, C. Tchou, H.P. Duiker,
W. Sarokin, and M. Sagar. Acquiring the Reflectance
Field of a Human Face. In Proc. SIGGRAPH, pages
145–156, July 2000. ISBN 1581132085. 3
4.Julie Dorsey, Alan Edelman, Justin Legakis, Hen
rik Wann Jensen, and Hans Køhling Pedersen. Mod
eling and rendering of weathered stone. In Proceedings
of SIGGRAPH 99, pages 225–234, 1999. 2
5.S. Gortler, R. Grzeszczuk, R. Szelinski, and M. Cohen.
The Lumigraph. In Proc. SIGGRAPH, pages 43–54,
August 1996. 3
6. Pat Hanrahan and Wolfgang Krueger. Reflection from
layered surfaces due to subsurface scattering. In Pro
ceedings of SIGGRAPH 93, pages 165–174, 1993. 2,
3
7.P. S. Heckbert and J. Winget. Finite element methods
for global illumination. Technical Report UCB/CSD
91/643, Computer Science Division (EECS), Univer
sity of California, Berkeley, California, USA, July
1991. 3
8. W. Heidrich and H.P. Seidel.
accelerated Shading and Lighting.
GRAPH, pages 171–178, August 1999. 2
Realistic, Hardware
In Proc. SIG
9. A. Ishimaru.
Random Media", volume 1. Academic Press, 1978. 1,
2
"Wave Propagation and Scattering in
10. Henrik Wann Jensen and Per H. Christensen. Efficient
simulation of light transport in scenes with participat
ing media using photon maps. In Proceedings of SIG
GRAPH 98, pages 311–320, 1998. 2
11. Henrik Wann Jensen, Stephen R. Marschner, Marc
Levoy, and Pat Hanrahan. A Practical Model for Sub
surface Light Transport. In Proc. SIGGRAPH, pages
511–518, August 2001. 2, 3, 4, 8
12. J. Kautz and H.P. Seidel. Towards Interactive Bump
Mapping with Anisotropic ShiftVariant BRDFs.In
submitted to COMPUTER GRAPHICS Forum (1/2003).
Page 10
10
Lensch et al. / Interactive Rendering of Translucent Objects
Eurographics/SIGGRAPH Hardware Workshop, pages
51–58, August 2000. 2
13. Jan Kautz and Michael D. McCool. Interactive Ren
dering with Arbitrary BRDFs using Separable Approx
imations. In Dani Lischinski and Greg Ward Larson,
editors, Tenth Eurographics Rendering Workshop 1999,
pages 281–292, June 1999. 2
14. Eric P. Lafortune and Yves D. Willems. A theoretical
framework for physically based rendering. Computer
Graphics Forum, 13(2):97–107, 1994. 3
15. Eric P. Lafortune and Yves D. Willems. Rendering par
ticipating media with bidirectional path tracing. In Eu
rographics Rendering Workshop 1996, pages 91–100,
1996. 2
16. M. Levoy and P. Hanrahan. Light Field Rendering. In
Proc. SIGGRAPH, pages 31–42, August 1996. 3
17. Erik Lindholm, Mark J. Kilgard, and Henry Moreton.
A userprogrammable vertex engine. In Proceedings of
ACM SIGGRAPH 2001, pages 149–158, August 2001.
7
18. G. Miller, S. Rubin, and D. Ponceleon. Lazy decom
pression of surface light fields for precomputed global
illumination. In 9th Eurographics Workshop on Ren
dering, pages 281–292, June 1998. 3
19. Ken Perlin.
of the 12th annual conference on Computer graph
ics and interactive techniques, pages 287–296. ACM
Press, 1985. 8
An image synthesizer. In Proceedings
20. Hormoz Pirzadeh. Computational geometry with the
rotating calipers.Master’s thesis, School of Com
puter Science, McGill University, Montreal, Quebec,
Canada, November 1999. 5
21. Holly E. Rushmeier and Kenneth E. Torrance. Extend
ing the radiosity method to include specularly reflect
ing and translucent materials. ACM Transactions on
Graphics, 9(1):1–27, 1990. 2
22. C. Schlick. An Inexpensive BDRF Model for Phys
ically based Rendering.
149–162, September 1994. 3, 7
In Eurographics ’94, pages
23. François X. Sillion. A unified hierarchical algorithm
for global illumination with scattering volumes and ob
ject clusters. IEEE Transactions on Visualization and
Computer Graphics, 1(3):240–254, 1995. 2
24. P.P. Sloan, J. Kautz, and J. Snyder. Precomputed Ra
diance Transfer for RealTime Rendering in Dynamic,
LowFrequency Lighting Environments. In Proc. SIG
GRAPH, July 2002 (to appear). 3
25. J. Spanier and E. Gelbard. Monte Carlo principles and
neutron transport problems. AddisonWesley, 1969. 2
26. Jos Stam. Multiple scattering as a diffusion process. In
Eurographics Rendering Workshop 1995, pages 41–50,
1995. 2
27. Godfried T. Toussaint.
with the rotating calipers.
MELECON’83, Athens, Greece, May 1983. 5
Solving geometric problems
In Proceedings of IEEE
28. D. Wood, D. Azuma, K. Aldinger, B. Curless,
T. Duchamp, D. Salesin, and W. Stuetzle. Surface Light
Fieldsfor 3D Photography. In Proc. SIGGRAPH, pages
287–296, July 2000. 3
29. Harold R. Zatz. Galerkin radiosity: A higher order so
lution method for global illumination. In Proceedings
of SIGGRAPH 93, pages 213–220, 1993. 3
submitted to COMPUTER GRAPHICS Forum (1/2003).
Page 11
Lensch et al. / Interactive Rendering of Translucent Objects11
Figure 7: The horse model with uniform marble and with added veins. The structures in the head and leg areas are clearly
noticable. The bust on the right is rendered as skim milk.
Figure 8: The textured horse model lit from the top left. The left image shows the local response, the middle the global response
and the right image the combined result. Notice that different areas are illuminated due to local and global response.
Figure 9: The bird model with an artificial material under uniform illumination (left) and illuminated by a white slide of
increasing intensity (lefttoright: 1 uniform, 1, 3, 5, 10, 50). Note the color shift from magenta to green.
submitted to COMPUTER GRAPHICS Forum (1/2003).