Download - Slides Hair Rendering
![Page 1: Slides Hair Rendering](https://reader036.vdocuments.mx/reader036/viewer/2022062707/55843fd0d8b42ad8268b4f4f/html5/thumbnails/1.jpg)
Interactive Hair Rendering Under Environment Lighting
Valentin JANIAUT
Zhong Ren, Kun Zhou, Tengfei Li, Wei Hua, Baining Guo
![Page 2: Slides Hair Rendering](https://reader036.vdocuments.mx/reader036/viewer/2022062707/55843fd0d8b42ad8268b4f4f/html5/thumbnails/2.jpg)
2
Hair Rendering
● Hair fiber represented with lines primitives
● Basic shading model is not realistic at all.
Basic OpenGL illumination
Deep Opacity Map [YUK08]
1 fiber4 strands
![Page 3: Slides Hair Rendering](https://reader036.vdocuments.mx/reader036/viewer/2022062707/55843fd0d8b42ad8268b4f4f/html5/thumbnails/3.jpg)
3
Environment Lighting
● Natural Illumination● No directional light
Environment LightingSingle Light
![Page 4: Slides Hair Rendering](https://reader036.vdocuments.mx/reader036/viewer/2022062707/55843fd0d8b42ad8268b4f4f/html5/thumbnails/4.jpg)
4
Spherical Function
How to represent a spherical function?
SRBF
![Page 5: Slides Hair Rendering](https://reader036.vdocuments.mx/reader036/viewer/2022062707/55843fd0d8b42ad8268b4f4f/html5/thumbnails/5.jpg)
5
Spherical Radial Basis Function
● Useful to approximate spherical function
€
f (θ ,ϕ ) ≈ c jj =1
N
∑ R(θ ,ϕ,ξ j ,λ j )
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 Series.
![Page 6: Slides Hair Rendering](https://reader036.vdocuments.mx/reader036/viewer/2022062707/55843fd0d8b42ad8268b4f4f/html5/thumbnails/6.jpg)
6
SRBF Light
● A SRBF function can represent a light in graphic rendering.
€
R j (ω i,ξ j ,λ j ) = L jG(ω i,ξ j ,λ j )Expression of the SRBF light j.
Intensity of the light j.
Gaussian distribution Result on the sphere
2D 3D
€
exp(−λ j ) × exp(λ j × (ω i • ξ j ))
Gaussian distribution.
![Page 7: Slides Hair Rendering](https://reader036.vdocuments.mx/reader036/viewer/2022062707/55843fd0d8b42ad8268b4f4f/html5/thumbnails/7.jpg)
7
SRBF and Environment Lighting
● We can now represent the environment lighting as the sum of the SRBF lights, as following:
€
L(ω i) ≈ L jj =1
N
∑ G(ω i,ξ j ,λ j )
![Page 8: Slides Hair Rendering](https://reader036.vdocuments.mx/reader036/viewer/2022062707/55843fd0d8b42ad8268b4f4f/html5/thumbnails/8.jpg)
8
Outgoing Curved Intensity
€
L(ωo) = D L(ω i)T(ω i)Ω∫ S(ω i,ωo)cosθ idω i
Diameter of the hair fiber Environment Lighting Transmittance Bidirectional
scattering function
![Page 9: Slides Hair Rendering](https://reader036.vdocuments.mx/reader036/viewer/2022062707/55843fd0d8b42ad8268b4f4f/html5/thumbnails/9.jpg)
9
Transmittance or Absorbtance
Transmittance is the fraction of incident light that passes through a
sample.
€
T(x,ω i) = exp(−σ a ρ(x)dxx
∞ω∫ )
Attenuation coefficient. Density function:
• 1 if covered by hair fiber.• 0 otherwise
![Page 10: Slides Hair Rendering](https://reader036.vdocuments.mx/reader036/viewer/2022062707/55843fd0d8b42ad8268b4f4f/html5/thumbnails/10.jpg)
10
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.
● Kajiya and Kay model [1989]
€
S(ω i,ωo) = Kd + Ks
cosp (θ i +θ o)
cosθ i
![Page 11: Slides Hair Rendering](https://reader036.vdocuments.mx/reader036/viewer/2022062707/55843fd0d8b42ad8268b4f4f/html5/thumbnails/11.jpg)
11
Environment Lighting Approximation
● Remember SRBF? It’s time to use it.
€
L(ω i) ≈ L jj =1
N
∑ G(ω i,ξ j ,λ j )
€
L(ωo) = D L jj =1
N
∑ G j (ω i)T(ω i)Ω∫ S(ω i,ωo)cosθ idω i
![Page 12: Slides Hair Rendering](https://reader036.vdocuments.mx/reader036/viewer/2022062707/55843fd0d8b42ad8268b4f4f/html5/thumbnails/12.jpg)
12
Effective Transmittance
● Last step of our simplification● Average attenuation of the SRBF
Lighting j.
€
˜ T (ξ j ,λ j ) =G j (ω i)T(ω i)Ω
∫ S(ω i,ωo)cosθ idω i
G j (ω i)Ω∫ S(ω i,ωo)cosθ idω i
€
L(ωo) = D L jj =1
N
∑ ˜ T (ξ j ,λ j ) G j (ω i)Ω∫ S(ω i,ωo)cosθ idω i
● How to compute this equation?
![Page 13: Slides Hair Rendering](https://reader036.vdocuments.mx/reader036/viewer/2022062707/55843fd0d8b42ad8268b4f4f/html5/thumbnails/13.jpg)
13
Splitting the equation
€
L(ωo) = D L jj =1
N
∑ ˜ T (ξ j ,λ j ) G j (ω i)Ω∫ S(ω i,ωo)cosθ idω i
€
˜ T (ξ j ,λ j )
€
G j (ω i)Ω∫ S(ω i,ωo)cosθ idω i
Transmittance Convolution of SRBF and scattering function.
€
I(ωo,ξ,λ )
![Page 14: Slides Hair Rendering](https://reader036.vdocuments.mx/reader036/viewer/2022062707/55843fd0d8b42ad8268b4f4f/html5/thumbnails/14.jpg)
14
€
G j (ω i)Ω∫ S(ω i,ωo)cosθ idω i
Convolving SRBF and Scattering Function
● Marschner et al. model [2003]
€
S(ω i,ωo) = M t (θ h )N t (θ d ,φ)t
∑
€
θh =(θ i +θ o)
2;
θ d =(θ i −θ o)
2;
φ = φo + φi
With:
€
IM (cosθξ ,cosθ o,cos(φξ − φo), 1λ )
cos(ϕξ-ϕo)
![Page 15: Slides Hair Rendering](https://reader036.vdocuments.mx/reader036/viewer/2022062707/55843fd0d8b42ad8268b4f4f/html5/thumbnails/15.jpg)
15
Computing Effective Transmittance
€
L(ωo) = D L jj =1
N
∑ ˜ T (ξ j ,λ j ) G j (ω i)Ω∫ S(ω i,ωo)cosθ idω i
Precomputed in a table• Sampled at the SRBF center
• Use of the Deep Opacity Map technique
![Page 16: Slides Hair Rendering](https://reader036.vdocuments.mx/reader036/viewer/2022062707/55843fd0d8b42ad8268b4f4f/html5/thumbnails/16.jpg)
16
Self-shadowing
Opacity Shadow Map Deep Opacity Map
![Page 17: Slides Hair Rendering](https://reader036.vdocuments.mx/reader036/viewer/2022062707/55843fd0d8b42ad8268b4f4f/html5/thumbnails/17.jpg)
17
Deep Opacity Map
z
T
z1 z2 z3
Compute the optical depth
Zo
Z1
Z2
Z3
![Page 18: Slides Hair Rendering](https://reader036.vdocuments.mx/reader036/viewer/2022062707/55843fd0d8b42ad8268b4f4f/html5/thumbnails/18.jpg)
18
Multiple Scattering
€
LD (ωo) = D L j (ξ j )Tfj =1
N
∑ (ξ j ) ψ f (ξ j ,ω i,σ f )Ω
∫ SD (ω i,ωo)cosθ idω i
€
Tf (ξ j )
€
ψ f (ξ j ,ω i,σ f )Ω
∫ SD (ω i,ωo)cosθ idω i
Transmittance Convolution of SRBF and scattering function.
€
IG (ωo,ξ,σ f )
● More realistic model.
![Page 19: Slides Hair Rendering](https://reader036.vdocuments.mx/reader036/viewer/2022062707/55843fd0d8b42ad8268b4f4f/html5/thumbnails/19.jpg)
19
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 σf on a rough
grid
● Store as 3D texture
● Hardware tri-linear
interpolation
![Page 20: Slides Hair Rendering](https://reader036.vdocuments.mx/reader036/viewer/2022062707/55843fd0d8b42ad8268b4f4f/html5/thumbnails/20.jpg)
20
Algorithm OverviewSingle 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
![Page 21: Slides Hair Rendering](https://reader036.vdocuments.mx/reader036/viewer/2022062707/55843fd0d8b42ad8268b4f4f/html5/thumbnails/21.jpg)
21
Results
hair model #fibers #segments
FPSSingle
scattering
animation 10K 270K 16.2
straight 10K 160K 17.8
ponytail 20K 900K 11.1
curly 50K 3.4M 2.30
wavy 10K 687K 12.3
natural 10K 1.6M 9.20
![Page 22: Slides Hair Rendering](https://reader036.vdocuments.mx/reader036/viewer/2022062707/55843fd0d8b42ad8268b4f4f/html5/thumbnails/22.jpg)
22
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
![Page 23: Slides Hair Rendering](https://reader036.vdocuments.mx/reader036/viewer/2022062707/55843fd0d8b42ad8268b4f4f/html5/thumbnails/23.jpg)
23
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/papers/srbf/srbf.html Lecture about SRBF.
![Page 24: Slides Hair Rendering](https://reader036.vdocuments.mx/reader036/viewer/2022062707/55843fd0d8b42ad8268b4f4f/html5/thumbnails/24.jpg)
24
Q/A