Building Volumetric Appearance Models of Fabric using Micro CT Imaging
Shuang Zhao

Wenzel Jakob
Steve Marschner
Cornell University∗

Kavita Bala

Figure 1: We build volumetric appearance models of complex materials like velvet using CT imaging: (left) CT data gives scalar density
over a small volume; (center) we extract fiber orientation (shown in false color) and tile larger surfaces; and (right) we match appearance
parameters to photographs to create a complete appearance model. Both fine detail and the characteristic highlights of velvet are reproduced.

Abstract

1

The appearance of complex, thick materials like textiles is determined by their 3D structure, and they are incompletely described bysurface reflection models alone. While volume scattering can produce highly realistic images of such materials, creating the required
volume density models is difficult. Procedural approaches require significant programmer effort and intuition to design specialpurpose algorithms for each material. Further, the resulting models
lack the visual complexity of real materials with their naturallyarising irregularities.

The appearance of materials like cloth is determined by 3D structure. Volume rendering has been explored for decades as an approach for rendering such materials, for which the usual surfacebased models are inappropriate [Kajiya and Kay 1989; Perlin and
Hoffert 1989; Xu et al. 2001]. Recent developments [Jakob et al.
2010] have brought enough generality to volume scattering that wecan begin to render fully physically-based volumetric appearance
models for cloth, fur, and other thick, non-surface-like materials.
However, a fundamental problem remains: creating these volumetric models themselves. For surfaces, texture maps derived fromphotographs are simple and effective, but volumes are not so easy.
Previous work has primarily relied on procedural methods for modeling volume density, but this has limited generality: significant
creative effort is needed to design special algorithms for each newmaterial. Further, these models often miss the subtle irregularities
that appear in real materials.

This paper proposes a new approach to acquiring volume models,
based on density data from X-ray computed tomography (CT) scans
and appearance data from photographs under uncontrolled illumination. To model a material, a CT scan is made, resulting in a scalardensity volume. This 3D data is processed to extract orientation
information and remove noise. The resulting density and orientation fields are used in an appearance matching procedure to define
scattering properties in the volume that, when rendered, produce
images with texture statistics that match the photographs. As our
results show, this approach can easily produce volume appearance
models with extreme detail, and at larger scales the distinctive textures and highlights of a range of very different fabrics like satin andvelvet emerge automatically—all based simply on having accurate
mesoscale geometry.
CR Categories: I.3.7 [Computing Methodologies]: Computer
Graphics—Three-Dimensional Graphics and Realism
Keywords: appearance modeling, volume rendering, cloth
Links:

DL

PDF

W EB

∗ E-mail: {szhao, wenzel, srm, kb}@cs.cornell.edu

Introduction

This paper explores an entirely different approach to building volume appearance models, focusing particularly on cloth. Since
cloth’s detailed geometric structure is so difficult to model well, we
use volume imaging to measure structure directly, then fill in optical properties using a reference photograph. We do this by solving
an inverse problem that statistically matches the texture between
photographs and physically based renderings (which include global
illumination and multiple scattering). We focus on textiles because
they exhibit a wide range of appearance, but share a common basic
structure of long, shiny fibers. Textile rendering is important for
many applications, but is challenging because cloth is structured,causing complicated textures and reflectance functions, yet irregular, causing difficult-to-model randomness. The thick, fuzzy natureof cloth makes volume models a good fit, if only there were a general solution for constructing them.
Many volume imaging technologies have been developed, including computed tomography (CT), magnetic resonance, ultrasound,and others, but unlike photographs, the resulting data does not directly relate to the optical appearance of the material; only to its
structure. As a result, volume renderings of these images are usefulfor illustrating hidden internal geometry, but not directly for rendering realistic images. For instance, a micro CT scan of woven
cotton cloth gives a detailed view of the interlaced yarns and theircomponent fibers, showing exactly how the fibers are oriented andhow the yarns are positioned, but no information about how they in-

(
a)Mi
cr
oCTI
mages

(
b)Reconstr
uct
edDensi
t
yFi
el
d
andOr
i
ent
at
i
onFi
el
d

(
c)AppearanceMatching(d)RenderedResultsFigure 2: Our volume appearance modeling pipeline. (a) CT images are acquired, (b) the density field and orientation field of the volume
are created, and (c) optical parameters of the volumetric model are assigned by matching statistics of photographs with rendered images. (d)Larger models are rendered using our acquired volumetric appearance and geometry models.
teract with light: there is no way to tell whether the fabric is blackor white or any color in between.
We show in this paper that remarkably little additional informationis required to extend CT data to a realistic appearance model. The
value of knowing 3D structure is obvious for rendering close-up
views where these details are visible. But equally importantly, theshape and arrangement of fibers in the material also determines theoverall appearance of the material—the shape and quality of specular highlights, and how the visual texture varies with illuminationand view. When coupled with the right rendering technology, a simple local model of reflection from fibers automatically predicts thecharacteristic appearance of very different materials like velvet andsatin, simply by knowing the 3D structure of the material.
The contribution of this paper is to show how to enhance the structural information from a CT scan of a small sample of fabric by
combining it with appearance information from a photograph ofthe material to construct plausible and consistent optical properties
that produce realistic appearance when rendered using a physically
based volume renderer. We describe our end-to-end volume appearance modeling pipeline and demonstrate it by acquiring models of cloth with very different appearance, ranging from matte toshiny and textured to smooth, capturing their characteristic highlights, textures, and fuzziness.

2

Related Work

We categorize realistic volumetric rendering and modeling researchin the related areas of surface appearance modeling, cloth reflectance modeling, and cloth structure modeling.
Because standard surface-oriented models are inadequate for complex thick materials, researchers andpractitioners have had to fall back on image-based rendering methods like Bidirectional Texture Functions (BTF), which essentiallyconsist of an exhaustive set of photographs of the surface under all
possible illumination and viewing directions [Dana et al. 1999; Furukawa et al. 2002; Wang et al. 2005]. Although BTFs produce realistic results for many otherwise difficult materials, the image-based
approach requires a significant amount of storage, and is often notof high enough resolution for sharp BRDF features, and generally
fails to capture or predict grazing angles, making silhouettes andedges unrealistic.

2003] which focused on modeling and rendering knitwear. Magda
and Kriegman [2006] describe a method for acquiring volumetrictextures which combine a volumetric normal field, local reflectancefunctions, and occupancy information. All these approaches needsignificant modeling effort. Recently Jakob et al. [2010] introduced
a principled formulation for rendering anisotropic, oriented volumetric media, which opens possibilities for more physically based
volume appearance models.
Cloth has perennially appeared ingraphics as a source of difficult BRDFs. Westin et al. [1992] computed cloth BRDFs by raytracing mesostructure models, whichis related to the way cloth highlights emerge in our system.
Ashikhmin et al. [2000] rendered velvet and satin using handdesigned microfacet distributions. Adabala et al. [2003] proposed arendering method for woven cloth based on microfacet models, andIrawan [2008] presented an elaborate model, based on the analysis
of fiber tangent directions in a range of woven fabrics, and validated
it against BRDF measurements. Each of these methods achieved
good appearance relative to the then-current state of the art, but they
are all specially hand-designed models for individual materials or
specific classes. Lu et al. [1998] measured and analyzed reflections
from velvet, and Ngan et al. [2005] measured some fabrics, including satins, but neither proposed models suitable for rendering.
Cloth reflectance models:

Since our approach is based on a completely general system that
only has a volume with fibers as its underlying assumption, we havefew fundamental limitations on what textile or textile-like materials can be handled. Further, by importing volumetric detail fromthe real world, we can achieve good appearance in closeups, and at
silhouettes, edges, and corners, where surface models appear unrealistically smooth and flat.

Appearance modeling:

Two prominent early volume appearance models are Kajiya andKay’s [1989] fur rendering, and Perlin and Hoffert’s [1989] “hypertexture.” Although it has since become more common to render hairand fur using discrete curves, their results demonstrate the value ofvolumetric models for complex, barely resolved detail. A similar
approach is the Lumislice representation [Xu et al. 2001; Chen et al.

The geometry of cloth structure has been studied for decades [Pierce 1937; Kawabata et al. 1973]. More recently
X-ray tomography, using synchrotron facilities [Thibault and Bloch
2002; Gong et al. 2009] or the rapidly improving micro-CT scanners [Lomov et al. 2002; Shinohara et al. 2010], has been used
to examine the structure of textiles in several applications. Thesestudies focus on extracting geometric information related to thematerial’s mechanical properties, but have produced some analysis
tools [Shinohara et al. 2010] that we use.
Cloth structure:

3

Overview

The goal of our system is to create realistic volumetric appearance
models of cloth. We need to generate a sampled 3D volume that describes the optical properties of the material at each voxel so that,when rendered with a physically based rendering system, it realistically reproduces the appearance of real cloth.

Because cloth is made of fibers, we need a volume scattering modelthat can handle the anisotropy of fibers; we chose a modified version of the model proposed by Jakob et al. [2010] (detailed in Section 4) for this purpose. This model requires an optical density, analbedo, and two phase function parameters: an orientation vector
and a specular lobe width.
Our technique begins with a micro CT scan of a small area of material, showing detail at the level of individual fibers over a fractionof a square centimeter. Such scans can readily be ordered at moderate cost (a few hundred US dollars) from a number of facilities, andsuitable desktop CT scanners are becoming available. In a sequenceof three stages (Figure 2) we process and augment this data, ending
with a volume that defines the required scattering model parameters
using density and orientation fields derived from the CT data, plus
three global parameters: the albedo, the lobe width, and a density
multiplier that scales the density field.
The first stage (Section 5) processes the density volume to augment
it with orientation information and to remove noise by convolving the data with 3D oriented filters to detect oriented structures,and thresholding to separate meaningful structure from noise. This
stage produces the density and orientation fields.
This volume can be rendered only after the global optical parameters are determined. The second stage (Section 6) makes use of asingle photograph of the material under known (but not controlled)
lighting, and associates optical properties with the oriented volume
from the first stage by matching the texture of the rendered volume
to the texture of the photograph.

FH ΘL
1.4
1.2
1.0
0.8
0.6
0.4
0.2
45

FH ΘL
5
4
3
2
1

4

Fiber Scattering Model

We model light transport using the anisotropic radiative transfer
equation (RTE) from Jakob et al. [2010](ω · ∇)L(ω) + σt (ω)L(ω) =Zσs (ω) fp (ω 0 → ω)L(ω 0 ) dω 0 + Q(ω)

(1)

90

135

180

Θ

(a) p = 10, γ = 0.290

45

90

45

FH ΘL

135

180

(c) p = 150, γ = 0.081

Θ

90

135

180

Θ

(b) p = 30, γ = 0.177

12
10
8
6
4
2
45

90

135

180

Θ

(d) p = 1000, γ = 0.031

Figure 3: Comparison between the sinp θ-type distribution withexponent p (blue) and our Gaussian-type distribution (red) withstandard deviation γ.
of σt , σs , and fp . For this purpose, we use the micro-flake model
proposed in the same work. This volume analogue of microfacet
models represents different kinds of volume scattering interactions
using a directional flake distribution D(m) that describes the orientation m of (unresolved) idealized mirror flakes at every pointin space. Similar to microfacet models, the phase function theninvolves evaluating D(m) at the half-way direction between the incident and outgoing direction. For completeness, we reproduce themodel’s definition below:

The resulting volume model is good for rendering small samples;
the third stage takes this small patch and maps it over a large surface
of cloth, using randomized tiling to replicate the material and shell
mapping [Porumbescu et al. 2005] to warp it.
The resulting renderings (Sections 7 and 8) show that this uniqueapproach to appearance modeling, leveraging direct information
about mesoscale geometry, produces excellent appearance from thesmall scale, where the geometry itself is visible, to the large scale,where the directional scattering properties naturally emerge fromthe measured 3D structure. The characteristic appearance of difficult materials like velvet and satin is predicted by our rather minimal volume scattering model, even though we use no light scattering measurements that could tell these materials apart, because
accurate geometric information is available.

FH ΘL
2.0
1.5
1.0
0.5

Z
|ω · m|D(m) dm

σt (ω) = a ρS2σs (ω) = α σt (ω)
fp (ω 0 → ω) =aραD(h(ω, −ω 0 )) + D(−h(ω, −ω 0 ))4σs (ω)Here, ρ denotes the particle density, a is the area of a single flake, α
is the associated albedo, and h(ω, ω 0 ) := (ω + ω 0 )/kω + ω 0 k. Notethat the above expressions are simplified by assuming the flakes
have albedo independent of the scattering angle. This reduces oursearch space considerably and still leads to a model that can represent scattering interactions with a variety of fibrous materials reasonably well.
To simulate scattering from a rough fiber with direction ωf , Jakobet al. propose the flake distribution D(ω) = c0 sinp (ωf , ω), where
higher values of p correspond to smoother fibers and c0 is a normalization constant. This model leads to flake normals concentrated
near the plane perpendicular to ωf ; the underlying motivation isto represent the normal directions observed on the original fiber’ssurface, which predominantly point in these directions.

S2

where σs and σt : S 2 → R are the anisotropic scattering and extinction coefficients, fp is the phase function, and Q is the source
term. Spatial dependence has been omitted for readability.
This equation can be understood as a generalization of the isotropic
RTE that adds support for a directionally varying amount of “interaction” with a medium. For instance, the directional dependence ofσt (ω) is necessary to model the effect that light traveling parallel tocoherently aligned fibers faces less obstruction than light travelingperpendicular to the fibers.
To specify the problem to be solved, we must choose a compatible
scattering model that will supply internally consistent definitions

4.1

Alternative flake distribution

One serious drawback of the sinp -type distribution is that most integrals over it do not have a closed form. This is problematic, since it
effectively prevents the use of the inversion method for generating
random samples distributed according to D. Since our rendering
pipeline crucially depends on this ability (see Section 7), we propose an alternative flake distribution that is convenient to integrate,
while capturing the same key feature of the sinp model, namely that
it is primarily concentrated perpendicular to the fiber direction.
We use the following density function, which specifies a truncatedf = 0 (fiber)

f = 1 (background)

q<0
q≥0

d1
x

d

x
d2

filter q(d; ·)(a)J has a high value

J has a low value(b) aligned(c) unaligned

Figure 4: Computing function J in 2D: (a) shape of the filter q; (b)when q is aligned to the fiber; (c) when q is unaligned.
Gaussian centered around the great circle perpendicular to ωf :D(ω) =

1(2π)3/2 γ erf



√1
2γ

Figure 5: Computed orientation field for a piece of gabardine witheach direction (x, y, z) mapped to RGB color (|x|, |y|, |z|). Left:
without thresholding on J; right: with thresholding on J.
sisting of a difference of Gaussians in distance from the axis:(ω · ω)2
 exp − f 22γ

where the standard deviation γ determines the roughness of thefiber and ωf denotes the fiber direction. The model captures thesame qualitative behavior as the sinp model over a large range ofparameter values (Figure 3).
To summarize, the parameters required to create renderings are:• ωf , the local fiber orientation,q(d; p) := −2 exp(−sr2 ) + exp(−tr2 )where r = kp − (p · d)dk is the distance from the filter’s axis andthe parameters s and t (normally s < t) are empirically adjusted
based on the size of the fibers present in the sample (see Figure 4).
The raw CT volume is thresholded at a value d , resulting in a binary volume f :(0 CTraw (x) ≥ df (x) :=
1 CTraw (x) < d• γ, the standard deviation of the flake distribution,• α, the single scattering albedo of the flakes,• a and ρ, the area and density of micro-flakes. Their productroughly corresponds to the interaction coefficient σt in traditional isotropic volume rendering, and we therefore set them
to a multiple of the processed CT densities, i.e. aρ(x) :=d · CT(x), where d is a constant of proportionality.
Section 5 discusses the steps needed to obtain CT(x) and ωf (x).
In Section 6, we describe how to find α, γ, and d, and Section 7
explains how to use our scattering model in Monte Carlo rendering.

5

CT Image Processing

Micro CT (computed tomography) devices, which use X-ray CT
methods to examine small to microscopic structures, are increasing
in availability, and this imaging modality is suited to a wide range ofmaterials from which a small sample can be extracted for scanning.

Then f is convolved with the filter q for each of a fixed set of orientations:X
J(x, d) :=q(d; p)f (x + p)(2)
p∈V

where V is a cubic volume of edge length h. For parameter values,
refer to Table 1.
As shown in Figure 4, the function J reaches a maximum value
when d equals the fiber’s orientation. So the orientation field iscomputed by finding, for each voxel x, the d0 that maximizes
J(x, d0 ) and setting ωf (x) = d0 . In our implementation, we precompute q on a set of directions {di } picked from a 32 × 32 × 6
cubemap. Then for each non-empty voxel x, we set ωf (x) = dj
where j = arg maxi J(x, di ).

5.2

Denoising CT Images

In this section we describe the process of extracting fiber orientationfrom the CT density volume using a special fiber-detecting filter.
Following this, we explain the processing steps needed to obtainorientation and density fields suitable for rendering.

The CT images usually contain considerable amounts of noise, particularly for low-density materials like our cloth samples, and removing the noise is critical for obtaining good quality data for rendering. Since cloth structure is always oriented, and the noise isgenerally fairly isotropic, the value of J is useful in noise removal.

5.1

CT images provide a voxelized density field with no direction information. Since our optical model requires an orientation for thephase function, it is necessary to reconstruct an orientation for every non-empty voxel. Our approach uses oriented filters to detectfibers, based on similar filters used by Shinohara et al. [2010] tolocate fibers in CT data. We chose this approach because of its
demonstrated application to fiber detection in CT data, though alternatives [Axelsson 2008] are possible.

In our system we use two thresholds to remove noise. The firstthreshold d is on the voxel values themselves, and is used to remove faint background noise that would otherwise cloud the model.
This thresholding creates the binary volume f . The second threshold J is on the value of J and is used to remove isotropic noise thathas density values that are too high to remove by the first threshold.
We set(CTraw (x) CTraw (x) ≥ d and J(x, ωf (x)) ≥ J ;CT(x) :=
0otherwise.

To detect a fiber with orientation d at location p, Shinohara proposes a cylindrically symmetric filter oriented with the axis d, con-Figure 5 shows the significance of adding this second threshold.

Recovering the Orientation Field

5.3

d 100
γ

Data Replication

500

1000

5000

10000

25000

0.
3

For materials without visible regularity, such as velvet and felt, eachtile on the surface is copied from a rectangular region centered in
the volume. To provide variation in local structure, for each tile thissource rectangle is rotated by a different random angle. For materials with woven structure, like silk and gabardine, we use a similar
approach, but use random translations of the source tile instead ofrotations. The weave pattern in each sample is manually identified
and a rectangular area is marked that contains an integer numberof repeats. Then each (smaller) surface tile is chosen from a subrectangle that contains a matching section of the weave. The result
is a tiling that reproduces the correct weave pattern and avoids obvious repeating of texture. We then map the tiled data to arbitrary
surfaces using shell mapping [Porumbescu et al. 2005].

6

Appearance Matching

Processing the CT data yields the spatially varying density and orientation for the volume. But the optical appearance parameters ofthe model remain to be determined. Since the CT scan does not giveus the material’s optical properties, we make use of a photograph ofthe material to compute the appearance parameters.
To make the problem tractable, we assume that the volume contains
the same material, with differences only in density and orientation.
This is appropriate for fabrics made from a single type of fiber,
which encompasses many important examples. Fabrics containing
yarns of different materials are future work. Thus, the appearance
parameters that must be determined are the same across the wholevolume. They are: the standard deviation of the flake distribution γ(corresponding to fiber roughness), the scattering albedo α (corresponding to material color), and the density scale d (corresponding
to opacity). Figure 6-(a) illustrates the effects of these parameters.
To match the material’s optical properties, we must use photographsof the sample. One approach is to photograph the same sample
that was scanned, calibrating the camera to the scan and associating pixels in the image with rays in the volume. This calibration
and acquisition is non-trivial; the fine resolution of the scans poses
practical difficulties. Further, we found that this level of detail is
not required to determine the small number of parameter values
we seek. Instead, we assume that the fabric is statistically similar
across different patches. Thus, our approach is to statistically matchthe texture of rendered images with a photograph of a different section of the same cloth under uncontrolled but known lighting.
We now describe the metrics we use to match the optical parameters
to the photograph, and then describe our matching algorithm.

6.1

Metrics for matching

Appearance matching is not a straightforward process of mappingcolors from the photos into the volume, because the volume model
describes local scattering properties, but the appearance is definedby a global volumetric multiple scattering process. Our approach

0.
1
0.
01
0.
001

(a)
0.16
standard deviation

The volume data needs to be replicated for rendering since our samples are very small. Texture synthesis methods for images provide
sophisticated tools that could be extended to do this, but are beyond
the scope of this paper, and an area of future work. Instead we used
two simple randomized tiling methods to cover the surfaces withtiles of volume data drawn from our models without introducing
distracting regular structures. In both methods the surface is simply covered by a rectangular array of tiles copied from the volume,
without continuity at the tile boundaries.

0.14
0.12
0.1

d=100
d=500
d=1000d=5000d=10000
d=25000

0.08
0.06
0.04
0.3

0.1

0.01

γ

0.001

(b)
Figure 6: (a) Renderings of a cylinder tiled with the satin volume,with fixed albedo and varying lobe width γ and density mlutiplierd. (b) The corresponding standard deviation of pixel values for thesatin sample: sharper lobes provide shinier appearance and resultin greater standard deviation. The role of d is more complicated.
is to repeatedly render the volume using our physically based renderer, and adjust the optical parameters to match certain texture
statistics of the rendered images to statistics of the photograph.
We match two simple statistical measures: the mean pixel value andthe standard deviation of pixel values, computed over corresponding regions of a photograph and a rendering of approximately similar geometry. This approach effectively matches the image brightness and texture contrast in the matching region. We tried measures
such as the CDF of intensities [Heeger and Bergen 1995] and skewness [Motoyoshi et al. 2007], but found that the mean and standard
deviation measures were simpler and robust. Thus, the only information that flows from the photograph to the volume model is themean and standard deviation of pixels in a single rectangle.
The appearance matching process involves choosing the geometry,camera position, lighting, and matching region. These are inherently manual choices, and we used the principle of choosing a setupthat shows the distinctive features of the cloth’s appearance. For instance, we made sure to use a configuration where the highlight was
visible on the satin. Beyond this we did not take any special carein arranging the appearance matching inputs, and the results do notappear to be sensitive to the details.

6.2

Optimization procedure

As shown in Figure 6, the density multiplier plays a fairly complicated role with respect to both measures. Given that our forward
process, which is essentially Monte Carlo path tracing, is quite expensive, we chose to pre-determine the density multiplier in our
implementation by rendering such a matrix. Fixing the density multiplier simplifies the inverse problem and leads to a practical solution. We found that the algorithm is not particularly sensitive tothe choice of density multiplier; our results use two main settings
which differ by an order of magnitude (see Table 1).
With a fixed density multiplier, we solve for the values of albedo(α, estimated separately in red, green, and blue) and lobe width (γ,Figure 7: Appearance matching results for (from top to bottom) (1) silk, (2) gabardine, (3) velvet, and (4) felt. Columns (a) and (c) show
photographs of the materials, and (b) and (d) show rendered images. The left two columns form the appearance matching pair, in which theblue boxes indicate manually selected regions for performing our matching algorithm. The right two columns, the validation pair, validate
our matches qualitatively under different configurations.
a single scalar value) using an iterative algorithm. Note that themean and standard deviation of pixel values change monotonicallywith changes in α and γ respectively1 . Thus, a binary search canbe used to significantly improve performance as follows: first, an
initial guess of γ is assumed, and we search for the α to matchthe mean pixel value. Then, fixing α, we perform a search for theγ to match the standard deviation. These iterations are repeateduntil a match is found. In practice, this approach converges quickly,
usually in 2 or 3 iterations.
Finally, we take another photo under a different setup and rendera corresponding image as a qualitative validation (see Section 8).
Figure 7 shows the appearance matching results for four different
materials.

7

Rendering

We render all our scenes using a basic Monte Carlo path tracer,
which handles the directionally varying properties of the medium
described in Section 4. One important part of this process entails
generating samples from the phase function fp (ω 0 → ω). In thissection, we adopt the notation of the integral form of the RTE, i.e.
ω is held fixed, and we are interested in sampling the direction ω 0 ,from which to gather illumination.
In prior work, [Jakob et al. 2010] used a spherical harmonics representation for this purpose. However, this approach has several
undesirable properties. First, a sample weight is needed to accountfor the fact that the sampling routine is only approximate, which
1 This holds as long as γ exceeds a minimum value (γ = 0.01 for all
our experiments); below this value the variance of fiber orientations limits
glossiness.

increases variance. Second, computing the spherical harmonics coefficients is a time-consuming process, which needs to be repeated
for any change in the model parameters. This is problematic, since
our fitting stage explores many different parameter sets. Most importantly, the spherical harmonics approach suffers from ringing
and therefore cannot handle some of the highly specular material
configurations in our parameter space.
In the following section, we first propose a naı̈ve sampling method,which is not directly usable due to its high variance. We thendemonstrate how rejection sampling can be used to turn the naı̈vemethod into an exact sampling scheme.

7.1

Alternative sampling strategy

In the surface case, importance sampling for microfacet models often takes the approach of sampling a microfacet normal, then using
it to compute an outgoing direction [Walter et al. 2007]. Additional
factors, such as the Fresnel reflectance and the Jacobian of the direction mapping must be accounted for in a weight associated withthe sample. If we apply this approach to the micro-flake model, we
obtain a sampling strategy with the following density:
f1 (ω 0 → ω) =D(h(ω, −ω 0 ))2 |ω 0 · h(ω, −ω 0 )|where the denominator is the aforementioned Jacobian (an extra
factor of 2 is required in comparison to the surface case, since
micro-flakes reflect from both sides). The sample must be assigned
the weight:
w1 (ω 0 → ω) =fp (ω 0 → ω)aρ=
ω 0 · h(ω, −ω 0 )
f1 (ω 0 → ω)σt (ω)(3)

Material
Gabardine
Silk
VelvetFelt

Data Size
992 × 1012 × 181
992 × 1013 × 46
992 × 1012 × 311
992 × 1012 × 485

s
1
3
3
1

t
2
4
4
2

h
16
12
12
16

d
0.45
0.4
0.4
0.4

J
–10
–6
–1
–30

d
5000
5000
500
500

γ
0.1
0.01
0.1
0.125

α
(0.892, 0.063, 0.048)(0.699, 0.030, 0.080)(0.555, 0.040, 0.074)(0.518, 0.915, 0.365)

Table 1: Fiber filter and scattering model parameter values for our material samples: s and t are the shape parameters, and h is the volume
size of the filter (Section 5); d and J are the noise thresholds. The optical parameters include d, the density multiplier, and the parameters
found by our appearance matching algorithm: γ, the standard deviation of the flake distribution, and α, the single-scattering albedo.
where we have assumed without loss of generality that D(ω) =D(−ω). Equation 3 indicates a fundamental problem of this approach, namely that w1 can become large when σt (ω) ≈ 0. This
becomes a fundamental limitation as specularity increases, particularly when there are many long transport paths (weights are multiplicative along paths and can build up).
To deal with this problem, we use rejection sampling to derive asampling strategy that generates samples exactly according to fp .
Since aρ/σt (ω) is an upper bound on fp /f1 , the following algorithm produces samples of the desired density:
S AMPLE -fp (ω)
1 repeat2m = S AMPLE -F LAKE -D ISTRIBUTION()
3
ξ = U NIFORM -R ANDOM(0, 1)
4
if ξ < |ω · m|
5
return 2(ω · m)m − ωThe added cost of rejection sampling is very small — in our example scenes, only 2-3 iterations were required on average. The
approach described in this section is general and might also be useful to improve sampling techniques that are traditionally used for
microfacet reflectance models.

7.2

Sampling the flake distribution

The algorithm above assumes the availability of a routine
S AMPLE -F LAKE -D ISTRIBUTION that can draw samples distributed according to D(ω). We apply the inversion method in
spherical coordinates to the distribution described in Section 4, andfind that the latitude (θ) component integrates to:





cos θ
1
1
1 − erf √F (θ) :=
erf √
2
2γ
2γ
where, F (0) = 0, F (π) = 1, and we have temporarily assumed
that ωf = (0, 0, 1)T . To sample θ, we find F −1 (ξ1 ) numericallyusing Brent’s method, where ξ1 is uniformly distributed on [0, 1].
About 10-18 iterations are required to arrive at machine precision.
For the longitude (ϕ) component, we set ϕ = 2πξ2 (where ξ2 isanother uniform variate). To handle general fiber directions, werely on the same sampling code and simply apply the appropriate
rotations to the incident and outgoing directions.

8

Results

Our results are based on samples of silk satin, velvet, felt, and wool
gabardine, which were sent to the High-Resolution X-ray Computed Tomography Facility at The University of Texas at Austin.
All fabrics were scanned in an XRadia MicroXCT scanner using10243 volumes with a 5 µm voxel size, which observed circularareas of approximately 5 mm diameter.
As necessary, our initial data cleanup included corrections to equalize density and contrast between the center and edge of the volume(vignetting). Further, we straightened the slightly non-planar cloth
samples using geometric warping, by fitting a second-order polynomial p(x, y) to points distributed proportional to the CT densities and then resampling the whole volume using the mappingf (x, y, z) = (x, y, z − p(x, y)). We then ran the CT image processing pipeline (see Section 5), with the parameters reported inTable 1. Depending on the thickness of the sample, processing took
between 1 and 8 hours on a QSSC-S4R Intel Server with 4 Xeon
X7560 8-core processors and 32 GB of memory.
Our rendering implementation is based on the open source rendering system Mitsuba [Jakob 2010], which was extended to handle
the new micro-flake distribution (Section 4). The rendering itself
was done on the Amazon Elastic Compute Cloud (EC2), where weused between 8 and 32 c1.xlarge instances (each having 8 coresand 7GB of memory) to jointly render the individual images at aresolution of 2.6 megapixels. With 32 instances, rendering times
range between 3.7 (velvet) and 7.4 (satin) hours per image. The
supplementary material has 10M-pixel images and the video.
Figure 7 shows results obtained by our appearance matching
scheme; the left two columns, the appearance matching pair, show
the image pairs used for appearance matching (the blue rectangle isused for matching), and the right two columns, the validation pair,show a different image pair, also with known and matched lighting,to test how well the model generalizes to other configurations. The
sizes of all samples we used for appearance matching are roughly
10 × 10 cm.
Figure 8 shows the resulting models shell-mapped onto draped fabric geometry and rendered under environment lighting.
The silk satin (charmeuse) has a structure of mainly parallel fiberson the surface, resulting in a strong anisotropic highlight. In Figure 7-(1), the appearance matching pair uses a cylindrically curved
piece of material, and the matching region was chosen to include
a highlight to allow the matching process to tune γ appropriately.
Good results are obtained despite the mismatch between the ideal
cylinder in the rendering and the flatter shape of the real material,
illustrating that a casual setup suffices. Using the parameters obtained from this view, the validation pair shows the fabric rotated
90 degrees and draped over the same cylinder. At this angle thefabric exhibits almost no highlight; this anisotropic appearance iscorrectly predicted by our model.
The satin is shown in a draped configuration in Figure 8-(a) and in
the accompanying video and supplementary images. No reflectancemodel, BRDF, BTF, or other multi-view image data is used for theserenderings—the orientation information in the volume automatically causes the characteristic appearance of this fabric to emerge
when the model is rendered.
For gabardine, a wool twill fabric, the variation in texture with
illumination direction is an important appearance characteristic.
In Figure 7-(2), the appearance matching pair is lit with a lowfrequency environment map. The validation pair accurately predicts
the texture under a different lighting condition, which involves astrong luminaire at the top. In the draped configuration in Figure 8-

Figure 8: Fabrics in draped configurations with our volumetric appearance model (a) silk satin, (b) gabardine, (c) velvet, and (d) felt.

(b), the volume model captures subtle foreshortening effects andthe silhouette appearance, as well as the subtle variations in texture
across the surface. The appearance at the cut edge gives the proper
impression of the thickness of the fabric (compare to the very thinsatin material), which is a perennial difficulty with surface models.
Velvet, a material with a cut pile (like a carpet), has a visible surface composed of fibers that stick up from the base material. It hasa very distinctive appearance, with a characteristic grazing-angle
highlight. Appearance matching for velvet (see Figure 7-(3)) was
done using a curved configuration and the same harsh lighting as
used for gabardine’s validation, producing distinct highlights on
both sides of the cylinder. The validation pair shows a different,
softer lighting, which results in a less distinct highlight; our model
agrees qualitatively with the photograph. The appearance of velvet
depends on how the fibers are brushed, and our random tile rotation
method produces randomly brushed velvet. In Figure 8-(c) and in
the video, we demonstrate how our model reproduces the characteristic velvet highlights. Further, the edges and silhouettes convey
the considerable thickness and weight of this material.
Felt is a nonwoven textile consisting of a disorganized layer of matted fibers. The thickness and fuzziness of this material are important appearance attributes that are generally difficult to model andrender. Since felt does not exhibit an overall specular highlight, weused a flat patch for appearance matching; because of limited depthof field we limited the matching region to a thin rectangle where
the photograph is in good focus. The illumination conditions forthe appearance matching and the validation are the same as thosefor the gabardine. The color and the contrast due to self-shadowing
attributes are matched nicely and generalize well to the second illumination condition. One limitation for this material is that it has
substantial low-frequency content in its texture, which our small

sample area did not capture in the CT imaging, leading to a slightly
more uniform appearance in our tiled material. Figure 8-(d) demonstrates the ability of our volumetric appearance model to capture thematerial’s thick, fuzzy appearance.
A 3D, physically based model also allows more meaningful editing than image-based methods. Figure 9 shows renderings createdafter performing simple edits to the underlying volume representation. In the top row, we reflect lookups into the satin volume data
across the central plane of the fabric, conditioned on a binary texture map that covers the surface. This edit reveals the back faceof the satin weave, which exhibits softer reflections due to less coherent fiber directions, much as these weaves are interchanged injacquard-woven satin. Two different lighting conditions are shown.
In the bottom row of Figure 9, we extend the gabardine model witha spatially varying albedo value. The albedo is computed as a function of orientation, so that fibers in the warp and weft are assigned
different colors. With blue warp and white weft a fabric similar todenim is produced, though made of wool rather than cotton.
Finally, we compare our method to the surface-based BRDF andtexture model introduced by Irawan [2008] (Figure 10). For these
two examples, Irawan fit his model to BRDF measurements of exactly the same materials we measured. The renderings for Irawan’s
and our methods took roughly 8 and 64 core hours, respectively.
At the large scale, the BRDFs of the fabrics match reasonably well.
Irawan showed that his model matches the measured BRDFs ofthese materials to a similar degree of fidelity, so this confirms that
our method predicts large-scale reflectance from the structure and asingle image. For yarn-scale texture, the two models produce generally similar results, though Irawan’s model is lower in contrast
for the gabardine because it does not account for shadowing. It also

Figure 9: Renderings obtained by editing the volumetric representation; Top row: the material is flipped using a binary texture map(two lighting conditions are shown). Bottom row: the gabardine
sample is rendered with a blue hue (left); we then detect weft fibers
based on their orientation and color them white, which produces amaterial resembling denim (right).
produces a more uniform appearance. At the small scale, as seenin the insets, and at silhouettes and edges, our detailed volumetricmodel produces dramatically more realistic results.

9Conclusions

We have demonstrated a new, multimodal approach to making realistic volume models of cloth that capture both the 3D structure evident in close-up renderings and the BRDF evident in farther-away
views. Unlike previous methods for capturing cloth appearance using BTFs, our method explicitly models the 3D structure of the material and, interestingly, is able to capture the directional reflectanceof the material automatically because of this structure.
Our modeling approach uses CT imaging where it is strongest, inmeasuring 3D structure, and it uses photographs where they arestrongest, in measuring color and texture. By matching texture
statistics we merge these two sources of information, resulting in
a volume model that can produce both close-up views with rich detail of fuzz and fiber structure and the characteristic BRDFs (highlights) of these materials that emerge naturally from rendering themeasured structure. No BRDF measurements are made, and only afew parameters are adjusted in the optical model. The appearanceof the cloth is created by a simple anisotropic phase function model
together with the occlusion and orientation information extracted
from the volume. This paper shows that since geometric structureis what creates the complex appearance of textiles, once we acquire
the structure, we are most of the way to modeling the appearance.
Aside from its implications regarding how material appearance canbe modeled from structure, this is also quite a practical method forappearance modeling. All that is required to model a material is a
CT scan, which can be obtained at reasonable cost from a number offacilities (or in the future from the rapidly improving technology ofdesktop CT scanning) and a few photographs under known illumination, which takes only a few minutes with a camera and a mirror
sphere. The resulting models are volumetric in nature, and physically based, which makes them easier to edit than image-based data.
It is easy to adjust color, glossiness, opacity, and material thick-Figure 10: Silk satin (1) and gabardine (2) rendered with Irawan’s
surface-based representation (a) and with our model (b).

ness by scaling parameters of the volume geometry; and a range ofmore fundamental changes to the material’s structure can be madeby editing the volume data.
This paper has demonstrated the usefulness of the CT modeling approach for textiles, but the approach does have some limitations.
Particularly, it requires that changes in optical properties correlatewith changes in density, and this requirement could limit the kindsof materials that can be captured using this imaging modality. Further, the scanner can only image small samples, less than a centimeter across, at the resolution needed to produce clear fiber orientation maps. Thick materials that do not fit fully in the volume (e.g.,materials with very long flyaway fibers) cannot be handled well.
Some unusual materials, such as metallic fibers, may be problematic for CT because of limited dynamic range. Also, texture content

at larger scales will be missed. These problems will decrease as CT
scanners improve in resolution and dynamic range. CT is very well
suited to textiles, and it remains to be seen what other materials it
performs well for, and how other volume imaging methods workin this technique. Further, materials with differently colored yarns
cannot be currently captured by our method.
There are many areas of future work. For better models, volume
texture synthesis methods are needed that can work with this typeof structured geometry and produce large volumes of high quality
seamless texture while maintaining rendering efficiency. This work
was done using extremely small samples, and with larger samples,
which should be possible as CT technology improves and becomescheaper, better texture could be produced. To extend the range ofmaterials that can be handled, new parameter estimation methods
are needed that can identify and fit multiple materials within a single volume. To improve accuracy, more photographs under varying
conditions can be used, allowing more parameters (for instance,
more complex phase functions) to be fit. Ultimately, this method
can be extended to work for a wide range of types of materials
whose appearance is difficult to capture using surface models.

Acknowledgements
The authors would like to thank Jessie Maisano at the UTCT scanning facility, and Piti Irawan for providing the gabardine, satin, andvelvet samples and his cloth model code. Funding was provided
by the National Science Foundation under awards CCF-0644175,
CCF-0702490, CCF-0811680 and IIS-1011919, an Intel PhD Fellowship, and Autodesk. We thank Intel Corporation and Amazon
for their donations of computing equipment and computer time.

References
A DABALA , N., M AGNENAT-T HALMANN , N., AND F EI , G. 2003.
Visualization of woven cloth. In 14th Eurographics Workshop
on Rendering, 180–185.

JAKOB , W., A RBREE , A., M OON , J. T., BALA , K., AND
M ARSCHNER , S. 2010. A radiative transfer framework for rendering materials with anisotropic structure. In SIGGRAPH 2010,
ACM, New York, NY, USA, 53:1–53:13.
JAKOB , W., 2010.
renderer.org.

Mitsuba renderer.

http://www.mitsuba-

K AJIYA , J. T., AND K AY, T. L. 1989. Rendering fur with three
dimensional textures. In Computer Graphics (Proceedings of
SIGGRAPH 89), 271–280.
K AWABATA , S., N IWA , M., AND K AWAI , H. 1973. The finite
deformation theory of plain weave fabrics. part i: The biaxial
deformation theory. Journal of Textile Instiute 64, 1, 21–46.
L OMOV, S., PARNAS , R., G HOSH , S. B., V ERPOEST, I., AND
NAKAI , A. 2002. Experimental and theoretical characterization of the geometry of two-dimensional braided fabrics. Textile
Research Journal 72, 8, 706–712.
L U , R., KOENDERINK , J. J., AND K APPERS , A. M. L. 1998. Optical properties (bidirectional reflection distribution functions) ofvelvet. Applied Optics 37, 25, 5974–5984.
M AGDA , S., AND K RIEGMAN , D. 2006. Reconstruction of volumetric surface textures for real-time rendering. In Proceedingsof the Eurographics Symposium on Rendering (EGSR), 19–29.
M OTOYOSHI , I., N ISHIDA , S., S HARAN , L., AND A DELSON , E.
2007. Image statistics and the perception of surface qualities.
Nature, 206–209.
N GAN , A., D URAND , F., AND M ATUSIK , W. 2005. Experimental
analysis of BRDF models. In Rendering Techniques 2005: 16th
Eurographics Workshop on Rendering, 117–126.
P ERLIN , K., AND H OFFERT, E. M. 1989. Hypertexture. In Computer Graphics (Proceedings of SIGGRAPH 89), 253–262.
P IERCE , F. T. 1937. The geometry of cloth structure. Journal of
the Textile Institute 28, 3, 45–96.

A SHIKHMIN , M., P REMOZE , S., AND S HIRLEY, P. S. 2000. A
microfacet-based brdf generator. In Proceedings of ACM SIGGRAPH 2000, 65–74.

P ORUMBESCU , S., B UDGE , B., F ENG , L., AND J OY, K. 2005.
Shell maps. ACM Transactions on Graphics 24, 3, 626–633.

A XELSSON , M. 2008. Estimating 3d fibre orientation in volume
images. In International Conference on Pattern Recognition,
2008, 1 –4.

S HINOHARA , T., TAKAYAMA , J., O HYAMA , S., AND
KOBAYASHI , A. 2010. Extraction of yarn positional information from a three-dimensional CT image of textile fabricusing yarn tracing with a filament model for structure analysis.
Textile Research Journal 80, 7, 623–630.

C HEN , Y., AN H UA Z HONG , S. L., X U , Y.-Q., G UO , B., ANDS HUM , H.-Y. 2003. Realistic rendering and animation ofknitwear. IEEE Transactions on Visualization and Computer
Graphics 9, 1, 43–55.

T HIBAULT, X., AND B LOCH , J. 2002. Structural analysis by Xray microtomography of a strained nonwoven papermaker felt.
Textile Research Journal 72, 6, 480–485.

DANA , K., VAN G INNEKEN , B., NAYAR , S., AND KOENDERINK ,J. 1999. Reflectance and texture of real-world surfaces. ACM
Transactions on Graphics 18, 1, 1–34.

WALTER , B., M ARSCHNER , S., L I , H., AND T ORRANCE , K.
2007. Microfacet models for refraction through rough surfaces.
In Eurographics Symposium on Rendering, 195–206.

F URUKAWA , R., K AWASAKI , H., I KEUCHI , K., AND S AKAUCHI ,M. 2002. Appearance based object modeling using texture
database: acquisition, compression and rendering. In Eurographics Workshop on Rendering, 257–266.

WANG , H., W U , Q., S HI , L., Y U , Y., AND A HUJA , N. 2005. Outof-core tensor approximation of multi-dimensional matrices ofvisual data. ACM Transactions on Graphics (ACM SIGGRAPH
2005) 24, 3, 527–535.

G ONG , R., O ZGEN , B., AND S OLEIMANI , M. 2009. Modelingof yarn cross-section in plain woven fabric. Textile Research
Journal 79, 11, 1014–1020.

W ESTIN , S. H., A RVO , J. R., AND T ORRANCE , K. E. 1992. Predicting reflectance functions from complex surfaces. In Computer Graphics (Proceedings of SIGGRAPH 92), 255–264.

H EEGER , D. J., AND B ERGEN , J. R. 1995. Pyramid-based texture
analysis/synthesis. SIGGRAPH ’95, 229–238.

X U , Y.-Q., C HEN , Y., L IN , S., Z HONG , H., W U , E., G UO , B.,
AND S HUM , H.-Y. 2001. Photorealistic rendering of knitwear
using the Lumislice. In Proceedings of ACM SIGGRAPH 2001,
391–398.

I RAWAN , P. 2008. Appearance of woven cloth. PhD thesis, Cornell
University, Ithaca, NY, USA. AAI3295837.