Interactive Hair Rendering Under
Environment Lighting
Valentin JANIAUT
Zhong Ren, Kun Zhou, Tengfei Li, Wei Hua,
Baining Guo
2
Hair Rendering
●
Hair fiber represented with lines
●
We can draw it with
glDrawArray
using
GL_LINES_STRIP
.
●
Basic shading model is not realistic at all.
Basic OpenGL
illumination
Deep Opacity
Map [YUK08]
3
Environment Lighting
●
Natural Illumination
●
No directional light
Environment Lighting
Single Light
4
Spherical Function
How to represent a
spherical function?
SPHERICAL
HARMONIC
5
Spherical Harmonic
6
Spherical Radial Basis Function
●
Useful to approximate spherical function
Spherical
Coordinate of the
Spherical Function
Number of SRBF to
use for the
approximation
Coefficient
depending of the
problem
SRBF
with
actually
5 parameters
Spherical
Coordinate of the
center of the SRBF
Bandwidth of the
center of the SRBF
●
Same idea than Fourier S
eries
.
7
SRBF Light
●
A SRBF function can represent a light in
graphic rendering.
Expression of the SRBF light
j
.
Intensity of the light
j
.
Gaussian distribution
Result on the sphere
2D
3D
Gaussian distribution.
8
SRBF and Environment Lighting
●
We can now represent the environment
lighting as the sum of the SRBF lights, as
following:
9
Outgoing Curved Intensity
Diameter of the hair
fiber
Environment Lighting
Transmittance
Bidirectional
scattering
function
10
Transmittance or Absorbtance
Transmittance is the fraction of
incident light that passes through a
sample.
Attenuation
coefficient.
Density function:
•
1 if covered by hair fiber.
•
0 otherwise
11
Bidirectional scattering function
●
S(ω
i
,ω
o
) will be the bidirectional scattering
function, similar to BRDF in surface
reflectance.
●
The scattering is the deviation of the
straight trajectory of a ray light due to an
obstacle.
12
A scattering model.
●
Kajiya and Kay model [1989]
13
Environment Lighting Approximation
●
Remember SRBF? It’s time to use it.
14
Effective Transmittance
●
Last step of our simplification
●
Average attenuation of the SRBF Lighting j.
●
How to compute this equation?
15
Splitting the equation
Transmittance
Convolution of SRBF and
scattering function.
16
Convolving SRBF and Scattering Function
●
Marschner et al. model [2003]
With:
17
Computing Effective Transmittance
Precomputed in a table
•
Sampled at the SRBF
center
•
Use of the
Deep
Opacity Map
technique
18
Self

shadowing
Opacity Shadow Map
Deep Opacity Map
19
Deep Opacity Map
z
T
z
1
z
2
z
3
Compute the
optical depth
Z
o
Z
1
Z
2
Z
3
20
Multiple Scattering
Transmittance
Convolution of SRBF and
scattering function.
●
More realistic model.
21
Multiple Scattering Computation
●
Voxelize
Hair Model
●
For each
voxel
store:
●
ϖ
: Average Fiber Direction
●
ν
: Standard Deviation of
fiber direction
●
ς
t
Τ
: Perpendicular
Attenuation Coefficient
●
Sample
Tf
and on a rough grid
●
Store as 3D texture
●
Hardware tri

linear
interpolation
22
Algorithm Overview
Single Scattering
●
Precompute
●
SRBF decomposition
●
Single Scattering
integration table
●
Runtime
●
Generate Deep
Opacity Depth Map
(DODM)
●
Construct the
Summed Area Table
●
Sample the effective
transmittance
●
Sample the single
scattering integral
23
Results
24
Limitations
●
Runtime change of hair properties
●
precomputation is costly (~50 minutes)
●
Eccentricity of hair scattering is omitted
●
Additional video memory for the integral
tables
●
12MB for single scattering
●
24MB for single + multiple scattering
●
no per

fiber hair property
25
References
●
http://www.kunzhou.net/
(Author of the
main paper, some of his slides are used in
this slideshow)
●
http://www.cemyuksel.com/
(Author of
the Deep Opacity Maps and numerous other
paper about hair rendering)
●
Illustration on slide 10 comes from
wikipedia.
●
http://www.cse.cuhk.edu.hk/~ttwong/pa
pers/srbf/srbf.html
Lecture about SRBF.
26
Q/A
Comments 0
Log in to post a comment