DOI: 10.1111/cgf.12302
EUROGRAPHICS 2014 / B. Lévy and J. Kautz(Guest Editors)

Volume 33 (2014), Number 2

Interactive Cloth Rendering of Microcylinder Appearance
Model under Environment Lighting
K. Iwasaki1,2 , K. Mizutani1 , Y. Dobashi3,4 , T. Nishita2,5
1 Wakayama University, 2 UEI Research, 3 Hokkaido University, 4 JST CREST, 5 Hiroshima Shudo University

Figure 1: Our method can render various cloth fabrics with microcylinder appearance model under environment lighting at
interactive frame rates. The insets show the environment maps. From left to right, cloth fabrics are linen plain, polyester satin
charmuse, silk crepe de chine, velvet.
Abstract
This paper proposes an interactive rendering method of cloth fabrics under environment lighting. The outgoingradiance from cloth fabrics in the microcylinder model is calculated by integrating the product of the distantenvironment lighting, the visibility function, the weighting function that includes shadowing/masking effects ofthreads, and the light scattering function of threads. The radiance calculation at each shading point of the cloth
fabrics is simplified to a linear combination of triple product integrals of two circular Gaussians and the visibility
function, multiplied by precomputed spherical Gaussian convolutions of the weighting function. We propose an
efficient calculation method of the triple product of two circular Gaussians and the visibility function by using thegradient of signed distance function to the visibility boundary where the binary visibility changes in the angulardomain of the hemisphere. Our GPU implementation enables interactive rendering of static cloth fabrics withdynamic viewpoints and lighting. In addition, interactive editing of parameters for the scattering function (e.g.
thread’s albedo) that controls the visual appearances of cloth fabrics can be achieved.
Categories and Subject Descriptors (according to ACM CCS): I.3.7 [Computer Graphics]: Three-Dimensional
Graphics and Realism—Color, shading, shadowing, and texture

1. Introduction

ing parameters for scattering effects on threads to change theappearance of cloth fabrics are desired.

Photorealistic rendering of cloth fabrics is one of the mostimportant research topics in the field of Computer Graphics,
and is used for many applications such as cloth design, interior design, games, and web shopping applications. For suchapplications, realistic rendering of cloth fabrics under realworld, complex lighting at interactive frame rates and edit-

This paper proposes an interactive rendering method ofcloth fabrics made from interwoven threads illuminatedfrom dynamic environment lighting. Our method employs
the microcylinder appearance model [Sad11, SBdDJ13] as
the shading model of cloth fabrics since the microcylindermodel has several nice properties. The microcylinder modelc 2014 The Author(s)Computer Graphics Forum c 2014 The Eurographics Association and John
Wiley & Sons Ltd. Published by John Wiley & Sons Ltd.

334

K. Iwasaki et al. / Interactive Cloth Rendering under Environment Lighting

can represent various appearances of cloth fabrics, from diffuse matte reflections to highly anisotropic glossy reflections, which are validated by comparing the measured data.
The microcylinder model is robust, practical, and easy tocontrol by changing a small number of intuitive parameters
for scattering functions.
In the microcylinder model, the outgoing radiance fromcloth fabrics is calculated by integrating the product of thelighting, the visibility function, the scattering function, andthe weighting function calculated from the geometric structure of interwoven threads. The main difficulty of interactive cloth rendering resides in the integral of high-frequency
complex functions, limiting the previous rendering methods [RZL∗ 10, XMR∗ 11] to ignoring the visibility function
or limiting to a simple lighting model [SBdDJ13].
To alleviate this difficulty, our method proposes an efficient calculation method of the quadruple product integral
for cloth rendering of static scenes. The environment lighting is represented with a linear combination of spherical
Gaussians (SGs). The quadruple product integral of the SG,
the visibility function, the weighting function and the scattering function is approximated by the product of SG convolved weighting function and the triple product integral of
the SG, the visibility function and the scattering function.
The SG convolved weighting functions are precomputed forvarious geometric structures of threads and SGs, and easily
calculated from the precomputed table in the run-time. To
compute the triple product, our method decomposes the SG
into two circular Gaussians. The scattering function in the
microcylinder model can be represented by the product ofa circular Gaussian and smooth functions. By factoring out
the smooth functions, the triple product integral is simplified to the product integral of two circular Gaussians and thevisibility function, which can be easily computed by using
signed distance function (SDF) from the visibility boundary
where the visibility changes, and the gradient of SDF.

2. Background2.1. Previous Methods
Shading model for cloth: To render cloth fabrics efficiently,
many cloth shading models have been proposed. Yasuda etal. proposed a simple shading model for cloth to reproduce
the glossy reflection of cloth [YYTI92]. Westin et al. developed an estimation method of BRDFs from microscale
cloth geometries [WAT92]. Daubert et al. precomputed thereflected radiance from implicit geometric models of knit or
weaving patterns and modeled spatially varying BRDFs offabrics using Lafortune BRDF models [DLHpS01]. Microfacet BRDF models proposed by Ashikhmin et al. [APS00]
are used to shade cloth fabrics such as velvet and satin. Realtime rendering methods [AMTF03,Kan10] and synthesizing
method from single-view captured images [WZT∗ 08] havebeen proposed for microfacet BRDF models.

In recent years, Irawan et al. proposed a novel and realistic reflectance model for woven fabrics [IM12] . Thismethod, however, does not take into account shadowing andmasking effects. Sadeghi et al. introduced a versatile reflectance model for cloth fabrics [SBdDJ13]. All these methods mainly focus on developing a comprehensive reflectancemodel for cloth fabrics and do not propose an efficient rendering method of cloth fabrics under environment lighting.
BTF representation for cloth: Several methods havebeen proposed to render realistic cloth fabrics under environment lighting by using bidirectional texture functions(BTFs). Sattler et al. [SSK03] proposed an interactive rendering method of cloth fabrics under environment lighting
using BTFs. This method, however, requires a huge amountof precomputed data per BTF. To address this problem,
Muller et al. [MMK04] proposed a Local-PCA encoded BTF
method. Since this method employs Precomputed RadianceTransfer with spherical harmonics [SKS02], the environment lighting is limited to low-frequency lighting.
Volumetric approaches: Xu et al. proposed a realistic rendering method for knitwear using the lumislice [XCL∗ 01]. This method, however, does not achieve interactive rendering for environment lighting. In recent years,
volumetric approaches to render realistic fabrics have been
proposed [JAM∗ 10, SKZ11, ZJMB11, ZJMB12]. Althoughthese methods can render realistic fabrics with high resolution volume data by using path tracing methods, these methods do not achieve interactive rendering. While Zhao et al.
accelerated the path tracing of structured volumetric models by using the modular flux transfer method [ZHRB13],
interactive rendering of fabrics cannot be achieved. Hašan
and Ramamoorthi proposed an interactive editing method ofvolumetric materials (e.g. scarf) [HR13]. This method, however, is limited to fixed lighting, while our method can rendercloth fabrics under dynamic environment lighting.
Hair rendering under environment lighting: We briefly
review the rendering methods of hair under environment
lighting which are similar to cloth rendering. Ren et al. proposed an interactive hair rendering method under environment lighting [RZL∗ 10]. Xu et al. extended Ren’s method
to achieve interactive editing of scattering parameters forhair [XMR∗ 11]. Although these methods can render realistic hair taking into account scattering effects at hair fibers
under all-frequency environment lighting, these methods do
not take into account shadows from occluders. Therefore, it
is difficult to apply these methods to cloth rendering in whichshadows from the cloth itself are necessary to enhance therealism of the cloth.

2.2. Definition of Gaussian functions and terminology
To render cloth fabrics under environment lighting efficiently, our method uses spherical Gaussian (SG) G, circular
c 2014 The Author(s)Computer Graphics Forum c 2014 The Eurographics Association and John Wiley & Sons Ltd.

335

K. Iwasaki et al. / Interactive Cloth Rendering under Environment Lighting
thread2
thread1

threadtangent curve

tangent curve
(a)

(b)

smallest patch
(c)

(a)

(b)

(c)

(d)

(e)

(f)

(d)

Figure 2: Notation of angles for microcylinder model. (a)Longitudinal angles θi ,θo are angles from the plane perpendicular to the thread tangent t. Azimuthal angles φi ,φo are
angles between n and projected ω i , ω o onto the plane perpendicular to t. (b) ψi , ψo are angles between n and projected ω i , ω o onto the plane spanned by n and t. (c) weaving
pattern (top) and smallest patch (bottom). (d) tangent curvesof two threads in the smallest patch.
Gaussian gc , Gaussian g, and normalized Gaussian gu as:2ωω; ξ , σ) = exp
(ω
·
ξ
−
1)
,
(1)
G(ω
σ2


2
gc (x; µ, σ) = exp(cos(x
−
µ)
−
1)
,
(2)
σ2
!
(x − µ)2,(3)g(x; µ, σ) = exp −σ2√
gu (x; µ, σ) = g(x; µ, σ)/( πσ),(4)where ω is a unit direction vector, ξ , σ, and µ represent thelobe axis (unit vector), the bandwidth, and the mean, respectively.
The outgoing radiance of cloth is calculated in the local coordinate system of tangent t and normal n as shownin Fig. 2. Longitudinal angle θ is the angle from the plane
perpendicular to t, and φ is the azimuthal angle from n.
Longitudinal angles and azimuthal angles for incident direction ω i and outgoing direction ω o are denoted as θi , φi andθo , φo , respectively. Our method defines θd = (θi − θo )/2,
θh = (θi + θo )/2, and φd = φi − φo . As shown in Fig. 2, angles ψi and ψo are angles between n and the projection of ω iand ω o onto the plane spanned by t and n, and ψd is definedas ψi − ψo .
2.3. Microcylinder ModelIn the microcylinder model [SBdDJ13], the threads of thecloth fabrics are modeled as microcylinders, and the cloth
fabrics are modeled by interwoven microcylinders in two
directions orthogonal to each other as shown in Fig. 2(c).
The smallest portion of the weaving pattern is referred toas smallest patch (Fig. 2(c)). The cloth fabrics are modeled by repeating the smallest patch. The outgoing radianceωo ) from the cloth is calculated by L(ωωo ) = a1 L1 (ωωo ) +L(ωωo ), where L1 and L2 are outgoing radiances from two
a2 L2 (ωthreads of the smallest patch, a1 and a2 are the area coverage
ratios of two threads, respectively. For each thread j(= 1, 2),
c 2014 The Author(s)Computer Graphics Forum c 2014 The Eurographics Association and John Wiley & Sons Ltd.

Figure 3: Comparison of our SG convolution approximationof W and the reference (unshadowed rendering) for silk-shot
fabric that consists of red and green threads. The incident
ωi , (0, 1, 0)T , σ).
lighting is represented by a single SG G(ωThe upper row images are the reference images and thebottom row images are rendered by using SVD compressed
Tt,σ (ξk , ω o ). (a)(d) 2/σ2 = 10, (b)(e) 2/σ2 = 100, and (c)(f)2/σ2 = 1000.

tangent t is defined by the tangent curve (Fig. 2(d)). Let C j
be the set of tangent vectors obtained by sampling the tanωo ) of j-th thread isgent curve. The outgoing radiance L j (ωcalculated by the following equation [Sad11]:Zωo )=L j (ωωi ) ∑ fs (t, ω i , ω o )W (t, ω i , ω o ) cos θi dω
ωi ,(5)
L(ω

Ω

t∈C j

where Ω is a set of directions on the hemisphere, L is theincident radiance, fs is the scattering function of thread andcalculated by the sum of surface scattering function fr,s andvolume scattering function fr,v as follows:fs (t, ω i , ω o ) = ( fr,s (t, ω i , ω o ) + fr,v (t, ω i , ω o ))/ cos2 θd ,fr,s (t, ωi , ωo ) = Fr (η, θd , φd ) cos(φd /2)gu (θh ; 0, γs ),(1 − kd )gu (θh ; 0, γv ) + kd
A,
fr,v (t, ω i , ω o ) = F
cos θi + cos θo(6)where Fr is the Fresnel reflectance, η is the refraction index
of the thread, F is the product of Fresnel transmittances, kd
and A are parameters for the isotropic term and the albedo.
Weighting function W is calculated by the shadowing
and masking term M(t, ω i , ω o ) and the projection termP(t, ω i , ω o ) as:
W (t, ω i , ω o ) = M(t, ω i , ω o ) ·P(t, ω i , ω o ). (7)∑t0 ∈C1 ∪C2 P(t0 , ω i , ω o )By defining D as D(x, y, z) = (1 − x) · y · z + x · min(y, z) tosimplify the notation, the shadowing and masking term M
and the projection term P are calculated by:M(t, ω i , ω o )=D(g(φd ; 0, σ), max(cos φi , 0), max(cos φo , 0)),P(t, ω i , ω o )=D(g(ψd ; 0, σ), max(cos ψi , 0), max(cos ψo , 0)),where σ is a bandwidth parameter between 15◦ and 20◦ .

336

K. Iwasaki et al. / Interactive Cloth Rendering under Environment Lighting(a)3. Our Method

(b)

(c)

(d)

visibility
boundary

Our method represents the environment lighting Lenv with a linear combination of SGs as
ω i ) ≈ ∑K
ωi ; ξ k , σk ) where K is the numLenv (ωk=1 Lk G(ωber of SGs, ξ k ,σk ,Lk are k-th lobe axis, bandwidth, andcoefficient, respectively. To simplify the explanation,
ωi ; ξ k , σk ) is represented as Gk (ωωi ). The incident radiG(ωωi ) at the shading point of the cloth illuminatedance L(ωωi )V (ωωi )by environment lighting is calculated by Lenv (ωωi ) is the visibility function that takes into accountwhere V (ωocclusions due to the cloth itself or other objects. Byωo ) is calculated by thesubstituting this into Eq. (5), L j (ωfollowing equation:

Figure 4: (a)(b): Product of two circular Gaussians and visibility function (blue ellipsoid cut by green line) differs even
if the signed distance (red arrows) is same. (c)(d): Visibility function near (θl , φk ) is approximated by linear visibility
function V 0 defined by signed distance and the gradient ofSDF.

Kωo ) =L j (ω

∑ Lk ∑ B j,k (t, ω o ),
k=1

(8)

t∈C j

where B j,k (t, ω o ) is calculated by the following equation.
Zωi )V (ωωi ) fs (t, ω i , ω o )W (t, ω i , ω o ) cos θi dω
ωi .
B j,k (t, ω o )= Gk (ωΩ

3.1. Convolution of spherical Gaussian and weighting
functionIn the following, we describe the calculation method of
B j,k (t, ω o ). As described before, scattering function fs canbe represented by θi , φi , θo , φo , and the product integral of fs
and spherical Gaussian G can be efficiently calculated by using the previous method [XMR∗ 11]. However, this method
does not consider the visibility function V and therefore cannot be directly applied to the cloth rendering. Moreover, W
is a complex, high dimensional function and it is quite difficult to represent W with spherical harmonics or Gaussianfunctions (please refer to Sec. 1 of the supplemental document).
To address this problem, our method factors out W as:
Rωi )W (t, ω i , ω o )dωωiΩGk (ω
R

B j,k (t, ω o ) ≈×ωi )dω
ωiΩ Gk (ωZωi )V (ωωi ) fs (t, ω i , ω o)cos θi dω
ωi .(9)Gk (ωΩThen our method defines the factored out component
T (t, ξ k , σk , ω o ) as the following equation:shows the validity of our approximation. Top images inFig. 3 show the ground truth and bottom images are renderedby using SVD compressed Tt,σ (ξξk , ω o ). As shown in Fig. 3,
our approximation method provides visually convincing results and the differences are subtle.
Next, we describe the calculation method for the latter integral in Eq. (9). To simplify the explanation, we describe
the calculation method for the surface scattering component
fr,s , while that for the volume scattering component fr,v canbe computed in the similar way. Let us define the latter integral in Eq. (9) as Is . By substituting Eq. (6) into Is , Is is
calculated by the following equation:φcos θωi )V (ωωi )Fr (η, θd , φd ) cos( d )gu (θh ; 0, γs ) 2 i dωωi .
Is= Gk (ω
2
cos
θd
Ω
Z

ωi ) is decomposed into the product of
To compute Is , Gk (ωtwo circular Gaussians:ωi ) = gc (θi , θk , σk )gc (φi ; φk , σ0k ),
(11)
Gk (ω
√
0
where θk , φk are angles of ξ k and σk = σk / cos θi cos θk ,respectively. Normalized Gaussian gu (θh , 0, γs ) is accurately√
approximated by circular Gaussian gc (θi ; −θo , 2γs )/ πγs(the derivation is described in Sec. 2 of the supplemental
document). Since the product of two circular Gaussians is
closed in the circular Gaussian,
the product of gc (θi ; θk , σk )√cand g (θi ; −θo , 2γs )/( πγs ) is replaced with another circular Gaussian gc (θi , θl , σl ) multiplied by scaling coefficient αas:√gc (θi ; θk , σk )gc (θi ; −θo , 2γs )/( πγs ) = α · gc (θi , θl , σl ).

RT (t, ξ k , σk , ω o ) =ωi )W (t, ω i , ω o )dωωiΩ Gk (ωRωi )dω
ωiΩ Gk (ω.

(10)

Since W depends on the geometric structure of the smallest patch, our method precomputes T for various SGs andfetches it in the rendering. However, T is a high dimensional
function and it would require a huge amount of the precomputed data. Our method precomputes Tt,σ (ξξk , ω o ) for eachsample tangent vector and discretized bandwidths, and compresses Tt,σ (ξξk , ωo ) using the Singular Value Decomposition. In our experiments, Tt,σ (ξξk , ω o ) can be accurately approximated with a small number of singular values. Fig. 3

To simplify the notation, let us define C(θi , φi ) asαFr (η, θd , φd ) cos(φd /2) cos θi / cos2 θd . Since Fresnel
term Fr (η, θd , φd ) and cosine functions cos(φd /2) andcos θi / cos2 θd are smooth compared to circular Gaussians,
C can be factored out from the integral as follows:Is ≈ C(θl , φk )

ZZ π
2

− π2

gc (θi ; θl , σl )gc (φi ; φk , σ0k )V (θi , φi )dθi dφi .

In the following, we describe the calculation method of triple
product integral of two circular Gaussians and the visibility
function.
c 2014 The Author(s)Computer Graphics Forum c 2014 The Eurographics Association and John Wiley & Sons Ltd.

337

K. Iwasaki et al. / Interactive Cloth Rendering under Environment Lighting

3.2. Integrating circular Gaussians with SDF gradient
To compute the product integral with the visibility function efficiently, spherical signed distance functions (SSDF)
have been used for SGs [XJF∗ 08,WRG∗ 09,IFDN12,IDN12,
WPC∗ 13]. Although SSDF works well for SGs, SSDF cannot be directly applied to the product integral of two circular Gaussians and the visibility function. The product of two
circular Gaussians can be an anisotropic function since thebandwidths of two circular Gaussians can differ. As shownin Eq. (1), SG is an isotropic function with respect to the lobe
axis, only the spherical singed distance to the lobe axis matters. For anisotropic functions, however, not only the spherical signed distance but also the direction to the nearest visibility boundary are required to accurately evaluate the product integral as shown in Fig. 4. In addition, for circular Gaussians, the distance in the angular domain (i.e. θi − θl andφi − φk ) matters instead of the spherical signed distance.
Instead of SSDF, our method employs signed distancefunctions d(θi , φi ) to compute the product integral of two
different (i.e. anisotropic) circular Gaussians and the visibility function. Our method precomputes the visibility function
V (θi , φi ) at each vertex, then the signed distance functiond(θi , φi ) is calculated from V as follows:p
(θi − θ)2+(φi − φ)2 , (V (θi , φi )= 1)
 + minV (θ,φ)=0pd(θi , φi )=(θi − θ)2+(φi − φ)2 , (V (θi , φi )= 0).
− min

1

1

(a)

0.5
0

1

i

The triple product integral I of two circular Gaussians andthe linear visibility function is then calculated by:
ZZ π
2

− π2

0

d

π/2
0

angle of gradient d

1

(c)

0.5

π/2

0

−π/2

(d)

0.5

0

d

π/2
0
angle of gradient d

0

−π/2

0

d

π/2 π/20angle of gradient d

π/2

0

−π/2

FigureVisualizationof H(σl , σ0l , d, ∇d). Top:σ
√ 5:
√
√ l =
0
1/4 2, σl = 1/ 2, bottom:σl = 1/16, σ0l = 1/2 2. Left:
H(σl , σ0l , d, ∇d), right: our sigmoid approximation. The vertical axis (and the color in the graph) represents the value of
H in (a)(c) or the value of our sigmoid approximation in(b)(d). The maximum error between (a) and (b) is 0.0093,
that between (c) and (d) is 0.0094.
Gaussians with zero means gc (θi ; 0, σl )gc (φi ; 0, σ0k ) as:
I ≈

ZZ π
2

− π2

gc (θi ; θl , σl )gc (φi ; φk , σ0k )dθi dφi

RR π2

c
c
0
0
− π2 g (θi ; 0, σl )g (φi ; 0, σk )V (θi + θl , φi + φk )dθi dφi

×

RR π2

0
c
c
− π2 g (θi ; 0, σl )g (φi ; 0, σk )dθi dφi

.

(12)

Since d(θi , φi ) is a signed distance function, its gradient∇d(θi , φi ) points to the nearest point on the visibility boundary where the visibility function V changes, and the gradient ∇d(θi , φi ) is equal to the normal at the nearest point on
the visibility boundary (see Fig. 4). By exploiting this, ourmethod approximates the visibility function near the peak(θl , φk ) of two circular Gaussians with a linear visibility
function V 0 (θi , φi ) as:(∂d∂d(θi − θl ) + ∂φ(φi − φk ) + d(θl , φk ) > 0
1, ∂θ
0
i
i
V (θi , φi ) =∂d∂d0, ∂θ (θi − θl ) + ∂φ (φi − φk ) + d(θl , φk ) < 0.

I =

d

π/2
0
angle of gradient d −π/2

V (θ,φ)=1

i

(b)

0.5

gc (θi ; θl , σl )gc (φi ; φk , σ0k )V 0 (θi , φi )dθi dφi .

Although the integral I can be precomputed and stored in alook-up table as I(θl , φk , σl , σ0k , d, ∇d), it would be a highdimensional table and therefore the precomutation time andstorage cost would be prohibitive.
To reduce the dimensionality of the look-up table, ourmethod eliminates θl and φk from I by approximating the
integral I with the integral of two circular Gaussians without
occlusion, multiplied by the ratio of occluded two circular
c 2014 The Author(s)Computer Graphics Forum c 2014 The Eurographics Association and John Wiley & Sons Ltd.

In the former double integral in Eq. (12), by approximating
the circular Gaussians with Gaussians, the double integral
can be calculated on the fly as the following equation:
ZZ π
2

− π2

≈

gc (θi ; θl , σl )gc (φi ; φk , σ0k )dθi dφi

Z π
2

− π2

Z π

g(θi ; θl , σl )dθi

2

− π2

g(φi ; φk , σ0l )dφi

 



πσl σ0l
π/2 − θl−π/2 − θl
erf
− erf
4
σl
σl



 
−π/2 − φkπ/2 − φk
− erf
,
(13)
× erf
σ0l
σ0l
=

2

where erf(x) is the error function erf(x) = √2π 0x e−t dt, and√
σ0l = σk / cos θl cos θk , respectively.
R

In the latter component of I in Eq. (12), our method can
now precompute the 4D function H(σl , σ0l , d, ∇d). We haveobserved that the 1D function h(d) = H(σl , σ0l , d, ∇d) for
fixed σl , σ0l , ∇d can be accurately approximated with a sigmoid function. That is,H(σl , σ0l , d, ∇d) ≈1
0
1 + e−κ(σl ,σl ,∇d)d

,

(14)

where κ(σl , σ0l , ∇d) is the gain of the sigmoid function. Our
method fits H with the sigmoid function in Eq. (14) by us-338

K. Iwasaki et al. / Interactive Cloth Rendering under Environment Lighting

Figure 6: Comparisons of images rendered by using our method (top row) and reference images (bottom row) for various
cloth fabrics ((a)(g):linen plain, (b)(h):silkcrepe de chine, (c)(i):silk shot fabric, (d)(j): front face of polyester satin charmeuse,(e)(k): back face of polyester satin charmeuse) and various environment lightings. The reference images are rendered with direct
illumination by using ray tracing (tracing 6 × 32 × 32 rays per pixel to sample incident radiance). The parameters of scatteringfunctions and the tangent curves we used are shown in [Sad11]. (f) and (l) are difference images (scaled by 4) between (a) and(g), and between (c) and (i), respectively.
ing the least square method and stores κ(σl , σ0l , ∇d) in the
3D texture. Fig. 5 shows examples of H and its sigmoid approximation. As shown in Fig. 5, our sigmoid approximation
matches to the ground truth well.

4. Results and Discussions
We have implemented our rendering algorithm on a PC withan Intel Core i7-2700K CPU (3.5GHz) and an NVIDIA
GeForce GTX Titan GPU. The resolutions of images in
Figs. 1 and 7 are 640 × 480, and that for Fig. 6 is 512 × 384.
ωo ) per pixel
Our method calculates the outgoing radiance L(ωby using GLSL(OpenGL Shading Language). The rendering performance is reported in Table 1. The environment
lighting is approximated by 10 SGs. The rendering performance mainly depends on the number of sampled tangent
vectors |C1 | and |C2 |. For each vertex of cloth fabric models, SDF d is sampled at 512 × 512 directions on the hemisphere and down-sampled to 128 × 128 directions. The precomputed SDF is compressed by using PCA with 48 PCA
terms, and SDF is interpolated at each pixel at run-time. The
compressed SDF for Fig. 1 is 9.26MB and that for Fig. 7 is
6.02MB. The gain of sigmoid function κ(σl , σ0l , ∇d) is sampled at 32 × 32 × 64.
Fig. 6 shows the comparisons between our method (toprow) and the reference images (bottom row) rendered byusing ray tracing for various cloth fabrics and environment
lighting. The computational times for ray tracing range from23 min to 71 min, while those of our method are 11 to 16
fps (frames per second). As shown in Fig. 6, our method canrender plausible images of cloth fabrics comparable to thereference images at interactive frame rates.
Fig. 7 shows an example of interactive editing of scattering parameters of polyester satin charmeuse cloth fabrics.
By editing A, γs , and γv parameters that control surface scattering function fr,s and volume scattering function fr,v fortwo threads, the visual appearance, especially the specular
highlight, changes.
Table 2 reports the precomputed data sizes of Tt,σ for various cloth fabrics. The numbers of truncated singular values
for Tt,σ are determined so that the cumulative contribution
ratios exceed 90%. To compress Tt,σ by using SVD, ξ k andω o are sampled for 48 × 48 directions. t is sampled for |C1 |and |C2 |√tangent vectors√ (listed in Table. 1) and σ is sampledfrom 1/ 2 to 1/16 2 logarithmically. The precomputation
time for Tt,σ ranges from 16 min to 43 min, and that for SVD
compression ranges from about 2 hours to 5 hours, whichmainly depend on the number of sampled tangent vectors.
To validate our linear visibility approximation with gradient to integrate anisotropic functions, we compare ourmethod with the rendering method for anisotropic spherical
Gaussians (ASG) [XSD∗ 13] in Fig. 8. The incident lightωi ; [x, y, z], [λ, µ]) =ing is represented by a single ASG G(ωωi ·x)2 −µ(ωωi ·y)2−λ(ωωi · z, 0) · e, where x, y, z are orthonormax(ωmal vectors, λ and µ are bandwidth parameters. In the ASG
rendering, to integrate the product of ASG and the visibilωi ; [x, y, z], [λ, µ]) is approximated by
ity function, ASG G(ωan isotropic spherical Gaussian with the effective bandwidthp
λµ. Then the product integral of approximated isotropic
spherical Gaussian and the visibility function is computed byusing the previous method [WRG∗ 09]. In Fig. 8, λ and µ are
set to 10 and 1000 in the top row and vice versa in the bottom row. These ASG lights represent distant lighting througha narrow window or from distant linear light sources. The
leftmost column in Fig. 8 shows the reference images rendered by using ray tracing, the center column rendered with
our method, and the rightmost column rendered with ASG.
Since the ASG rendering method uses the effective bandwidth, Fig. 8(c) is identical to (f), and anisotropic blurred
soft shadows cannot be represented. On the other hand, ourmethod can represent anisotropic blurred soft shadows especially from the spout and the handle of the teapot. The
c 2014 The Author(s)Computer Graphics Forum c 2014 The Eurographics Association and John Wiley & Sons Ltd.

339

K. Iwasaki et al. / Interactive Cloth Rendering under Environment Lighting

(a)

(c)

(a)

(b)

(c)

(d)

(e)

(f)

(b)

(d)

Figure 7: Editing parameters of scattering functions for(a)(b) silk crepe de chine and (c)(d) linen plain. (a)(b): byediting γs , and γr for two threads, the visual appearance of
pillow model changes from matte to glossy. (c)(d): changing
albedo A of two threads (yellow and blue) each other.

blurred soft shadows rendered by using our method, however, slightly spread for thin objects such as the spout andthe handle, since the gradient for thin objects changes drastically. This can be alleviated by smoothing the SDF, but it
remains as future work.
We analyze the approximation error in Eq. (12) for simple
linear visibility function that returns 1 if θ > 0 and returns
0 otherwise. We calculated root mean square errors (RMSEs) between I and approximation of I in Eq. (12) for various mean parameters (θl and φk ), which are uniformly sampled from −π/2 to π/2. For several bandwidth parametersof circular Gaussians, RMSEs are 1.5514e−4 , 4.0907e−5 ,0.0049, 1.7207e−8 , and 0.0035 when bandwidth parameters (σl , σ0k ) are set to (1/2, 1/2), (1/2, 1/8), (1/2, 1/32),(1/8, 1/2), and (1/32, 1/2), respectively. As shown in thisanalysis, our approximation method in Eq. (12) works wellfor various circular Gaussians.
Although our method can render cloth fabrics under environment lighting interactively, our method has several limitations. Firstly, our method is limited to static scenes in orderto precompute SDF. Secondly, our current implementation
does not handle interreflections of cloth fabrics. We have investigated the effects of indirect illumination by using pathtracing up to 5 bounces in Fig. 9. Although the bottom of thelinen pillow looks slightly brighter due to indirect illumination, the effect of indirect illumination seems small in our
experiments. However, in certain cases (e.g. indoor scene including multiple cloth fabrics), the effects of indirect illumination may not be small. It would be possible to calculateinterreflected light between cloth fabrics with fixed parameters of scattering functions, computing interreflected lightof cloth fabrics with dynamic BRDFs remains a challenging
problem.
c 2014 The Author(s)Computer Graphics Forum c 2014 The Eurographics Association and John Wiley & Sons Ltd.

Figure 8: Comparison between ASG and our method. The
incident light is represented by a single ASG with (λ, µ) =(10, 1000) in the top row and (λ, µ) = (1000, 10) in thebottom row, (shown in insets of (a) and (d)). Due to theanisotropic lighting, the soft shadows are blurred anisotropically as shown in reference images (a) and (d) (especially inthe red frames). (b)(e) our method can represent anisotropic
blurred shadows from the spout and the handle compared to(c) and (f) withp isotropic spherical Gaussians with effective
bandwidth λµ.

(a)

(b)

(c)

Figure 9: Effects of indirect illumination. (a) direct illumination only (b) with indirect illumination (c) difference image
scaled by 4.
5. Conclusion and Future Work
We have proposed an interactive rendering method of cloth
fabrics for microcylinder appearance model under environment lighting. The quadruple product integral of SG, weighting function, scattering function, and visibility function isapproximated by the product of SG convolved weighting
function and the triple product integral. The SG convolved
weighting function can be precomputed for various cloth
fabrics and evaluated easily at run-time. The triple productintegral of two circular Gaussians and the visibility function
is efficiently calculated by using SDF and its gradient. Our
method enables the users to edit the parameters of scatteringfunctions that control the visual appearances of cloth fabrics
interactively under all-frequency environment lighting.

Table 1: Rendering performance. |C1 | and |C2 | are numbersof sampled tangent vectors of thread 1 and 2, respectively.
Figure No.
Fig. 1(a)/6(a)/7
Fig. 1(b)/6(d)(e)Fig. 1(c)/6(b)/7
Fig. 1(d)Fig. 6(c)

Cloth
linen
polyestersilkvelvetsilkshot|C1 | + |C2 |
6
16
10
8
10

fps
13 / 16 / 11
9 / 1110 / 16 / 12
11
13

340

K. Iwasaki et al. / Interactive Cloth Rendering under Environment Lighting

Table 2: Data sizes of precomputed table T . The minimum/maximum/average numbers of singular values for various t and σ are listed.
Cloth

Data size

linen
silk
silk shotpolyester (front)
polyester (back)velvet

29.6MB
40.5MB
81.1MB
66.9MB
66.0MB
41.7MB# of singular values(min/max/ave)
1/24/8.8
1/19/7.2
1/44/14.4
1/21/7.4
1/21/7.3
1/23/9.3

In future work, we would like to take into account indirect
illumination. Moreover, we would like to extend our method
to handle dynamic scenes of cloth fabrics.
Acknowledgements
We would like to thank all the reviewers for their useful comments. This research was partially supported by JSPS KAKENHI Grant Number 24700093 and 13324688.
References[AMTF03] A DABALA N., M AGNENAT-T HALMANN N., F EI G.:
Visualization of woven cloth. In Proc. of Eurographics Symposium on Rendering (2003), pp. 178–185. 2[APS00] A SHIKMIN M., P REMOŽE S., S HIRLEY P.:
A
microfacet-based brdf generator. In Proc. of SIGGRAPH’00(2000), pp. 65–74. 2[DLHpS01] DAUBERT K., L ENSCH H. P. A., H EIDRICH W., PE TER S EIDEL H.: Efficient cloth modeling and rendering. In Eurographics Workshop on Rendering (2001), pp. 63–70. 2[HR13] H AŠAN M., R AMAMOORTHI R.: Interactive albedo editing in path-traced volumetric materials. ACM Transactions on
Graphics 32, 2 (2013), 11:1–11:11. 2[IDN12] I WASAKI K., D OBASHI Y., N ISHITA T.: Interactive biscale editing of highly glossy materials. ACM Transactions on
Graphics 31, 6 (2012), 144:1–144:7. 5[IFDN12] I WASAKI K., F URUYA W., D OBASHI Y., N ISHITA T.:
Real-time rendering of dynamic scenes under all-frequency lighting using integral spherical gaussian. Computer Graphics Forum31, 2 (2012). 5[IM12] I RAWAN P., M ARSCHNER S.: Specular reflection fromwoven cloth. ACM Transactions on Graphics 31, 1 (2012), 11:1–
11:20. 2[JAM∗ 10] JAKOB W., A RBREE A., M OON J. T., BALA K.,
M ARSCHNER S.: A radiative transfer framework for rendering materials with anisotropic structure. ACM Transactions on
Graphics 29, 4 (2010), 53:1–53:13. 2[Kan10] K ANG Y.-M.: Realtime rendering of realistic fabric withalternation of deformed anisotropy. In Proc. of Motion in Games(2010), pp. 301–312. 2[MMK04] M ULLER G., M ESETH J., K LEIN R.: Fast environmental lighting for local-pca encoded btfs. In Proc. of Computer
Graphics International (2004), pp. 198–205. 2[RZL∗ 10] R EN Z., Z HOU K., L I T., H UA W., G UO B.: Interactive hair rendering under environment lighting. ACM Transactions on Graphics 29, 4 (2010), 55:1–55:8. 2[Sad11] S ADEGHI I.: Controlling the Appearance of Specular
Microstructures. PhD thesis, UC San Diego, 2011. 1, 3, 6
[SBdDJ13] S ADEGHI I., B ISKER O., DE D EKEN J., J ENSEN
H. W.: A practical microcylinder appearance model for cloth
rendering. ACM Transactions on Graphics 32, 2 (2013), 14:1–
14:12. 1, 2, 3
[SKS02] S LOAN P.-P., K AUTZ J., S NYDER J.: Precomputed
radiance transfer for real-time rendering in dynamic, lowfrequency lighting environments. ACM Trans. Graph. 21, 3(2002), 527–536. 2[SKZ11] S CHRÖDER K., K LEIN R., Z INKE A.: A volumetricapproach to predictive rendering of fabrics. Computer Graphics
Forum 30, 4 (2011), 1277–1286. 2[SSK03] S ATTLER M., S ARLETTE R., K LEIN R.: Efficient andrealistic visualization of cloth. In Eurographics Symposium on
Rendering (2003), pp. 167–177. 2[WAT92] W ESTIN S. H., A RVO J. R., T ORRANCE K. E.: Predicting reflectance functions from complex surfaces. In Proc. of
SIGGRAPH’92 (1992), pp. 255–264. 2[WPC∗ 13] WANG R., PAN M., C HEN W., R EN Z., Z HOU K.,
H UA W., BAO H.: Analytic double product integrals for allfrequency relighting. IEEE Transactions on Visualization andComputer Graphics 19, 7 (2013), 1133–1142. 5[WRG∗ 09] WANG J., R EN P., G ONG M., S NYDER J., G UO
B.: All-frequency rendering of dynamic, spatially-varying reflectance. ACM Transactions on Graphics 28, 5 (2009), 133:1–
133:10. 5, 6
[WZT∗ 08] WANG J., Z HAO S., T ONG X., S NYDER J., G UO B.:
Modeling anisotropic surface reflectance with example-based microfacet synthesis. ACM Trans. Graph. 27, 3 (2008), 41:1–41:9.
2[XCL∗ 01] X U Y.-Q., C HEN Y., L IN S., Z HONG H., W U E.,
G UO B., S HUM H.-Y.: Photorealistic rendering of knitwear using the lumislice. In Proc. of SIGGRAPH2001 (2001), pp. 391–
398. 2[XJF∗ 08] X U K., J IA Y.-T., F U H., H U S., TAI C.-L.: Spherical piecewise constant basis functions for all-frequency precomputed radiance transfer. IEEE Transactions on Visualization andComputer Graphics 14, 2 (2008), 454–467. 5[XMR∗ 11] X U K., M A L.-Q., R EN B., WANG R., H U S.-M.:
Interactive hair rendering and appearance editing under environment lighting. ACM Transactions on Graphics 30, 6 (2011),
173:1–173:10. 2, 4
[XSD∗ 13] X U K., S UN W.-L., D ONG Z., Z HAO D.-Y., W U R.D., H U S.-M.: Anisotropic spherical gaussians. ACM Transactions on Graphics 32, 6 (2013), 209:1–209:11. 6[YYTI92] YASUDA T., YOKOI S., T ORIWAKI J.- I ., I NAGAKI
K.: A shading model for cloth objects. IEEE Computer Graphics
and Applications 12, 6 (1992), 15–24. 2[ZHRB13] Z HAO S., H AŠAN M., R AMAMOORTHI R., BALA
K.: Modular flux transfer: Efficient rendering of high-resolution
volumes with repeated structures. ACM Transactions on Graphics 32, 4 (2013), 131:1–131:12. 2[ZJMB11] Z HAO S., JAKOB W., M ARSCHNER S., BALA K.:
Building volumetric appearance models of fabric using micro ct
imaging. ACM Transactions on Graphics 30, 4 (2011), 44:1–
44:10. 2[ZJMB12] Z HAO S., JAKOB W., M ARSCHNER S., BALA K.:
Structure-aware synthesis for predictive woven fabric appearance. ACM Transactions on Graphics 31, 4 (2012), 75:1–75:10.
2

c 2014 The Author(s)Computer Graphics Forum c 2014 The Eurographics Association and John Wiley & Sons Ltd.