Graphics Reference
In-Depth Information
several million pixels. The k -means algorithm can reduce this to a few hundred
representative clusters. Jonathan Cohen developed an HDR Shop plug-in called
LightGen that does this using weighted version of the k -means algorithm. 1
Simply put, uniform sampling of an environment that has highly nonuniform
illumination (as most do) is likely to result in artifacts. A form of importance
sampling is therefore necessary for efficient sampling. The paper “Structured Im-
portance Sampling of Environment Maps” by Sameer Agarwal, Ravi Ramamoor-
thi, Serge Belongie, and Henrik Wann Jensen presents one method of importance
sampling using a spherical partition of the environment map [Agarwal et al. 03].
The partitions, called strata in the paper, essentially represent a set of directional
light sources that approximate the illumination of the environment. The k -means
algorithm described previously does something similar; however, the method de-
scribed in the paper produces a better set of samples and also arranges them in a
hierarchy for more effective rendering. 2
The process of constructing the samples first divides the environment map into
sections or “layers” of similar brightness. Boundaries of these layers resemble the
contour lines on a topographic map ( Figure 7.3(a) ) . These layers are then parti-
tioned into disjoint “strata,” each of which will contain one sample. The number
of strata (samples) is determined using a measure of importance that balances the
relative area with the relative brightness. This is based on the function
L a
b
Γ (
L
, Δω )=
Δω
,
(7.1)
in which L is the radiance (brightness) and
is the total solid angle of the
region, i.e., the spherical area of the region. The relative importance of area and
brightness are controlled by adjustable parameters a and b . For example, if a
Δω
=
0
and b
1, then the importance sampling is driven only by area. As described
previously, this parameter choice will underemphasize the importance of small
light sources. On the other hand, if a
=
0, sampling is driven entirely
by brightness. The problem in this case comes in the improper representation of
broad sections of dim pixels that collectively have a substantial contribution to
illumination. The implementation in the paper actually uses a
=
1and b
=
1
4 ,and
=
1and b
=
it also employs a modification to ensure
does not become too small.
Splitting the map into layers to be sampled separately allows the sampling
to be more dense in brighter layers, while at the same time ensuring that layers
having the lowest brightness value are properly included. The stratification works
on the connected components of the layers, starting with the brightest layer and
Δω
1 http://gl.ict.usc.edu/HDRShop
2 There are other sampling methods well suited for IBL using environment maps such as [Kollig
and Keller 03] [Ostromoukhov et al. 04].
Search WWH ::




Custom Search