24
1 Interactive Hair Rendering Under Environment Lighting Valentin JANIAUT Zhong Ren, Kun Zhou, Tengfei Li, Wei Hua, Baining Guo

Slides Hair Rendering

Embed Size (px)

DESCRIPTION

Talk about the Paper Real Time hair rendering under Global Illumination published at SIGGRAPH 10\\’

Citation preview

Page 1: Slides Hair Rendering

Interactive Hair Rendering Under Environment Lighting

Valentin JANIAUT

Zhong Ren, Kun Zhou, Tengfei Li, Wei Hua, Baining Guo

Page 2: Slides Hair Rendering

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

3

Environment Lighting

● Natural Illumination● No directional light

Environment LightingSingle Light

Page 4: Slides Hair Rendering

4

Spherical Function

How to represent a spherical function?

SRBF

Page 5: Slides Hair Rendering

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

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

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

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

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

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

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

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

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

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

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

16

Self-shadowing

Opacity Shadow Map Deep Opacity Map

Page 17: Slides Hair Rendering

17

Deep Opacity Map

z

T

z1 z2 z3

Compute the optical depth

Zo

Z1

Z2

Z3

Page 18: Slides Hair Rendering

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

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

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

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

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

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

24

Q/A