interactive hair rendering under environment lighting

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

Upload: vito

Post on 15-Feb-2016

17 views

Category:

Documents


0 download

DESCRIPTION

Interactive Hair Rendering Under Environment Lighting. Valentin JANIAUT Zhong Ren, Kun Zhou, Tengfei Li, Wei Hua, Baining Guo. Hair Rendering. Hair fiber represented with lines primitives Basic shading model is not realistic at all. 1 fiber 4 strands. Basic OpenGL illumination. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Interactive Hair Rendering Under Environment Lighting

Interactive Hair Rendering Under Environment Lighting

Valentin JANIAUTZhong Ren, Kun Zhou, Tengfei Li, Wei Hua,

Baining Guo

Page 2: Interactive Hair Rendering Under Environment Lighting

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: Interactive Hair Rendering Under Environment Lighting

3

Environment Lighting● Natural Illumination● No directional light

Environment LightingSingle Light

Page 4: Interactive Hair Rendering Under Environment Lighting

4

Spherical Function

How to represent a spherical function?

SRBF

Page 5: Interactive Hair Rendering Under Environment Lighting

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

problemSRBF 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: Interactive Hair Rendering Under Environment Lighting

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: Interactive Hair Rendering Under Environment Lighting

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: Interactive Hair Rendering Under Environment Lighting

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: Interactive Hair Rendering Under Environment Lighting

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: Interactive Hair Rendering Under Environment Lighting

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 + Kscosp (θ i +θ o)

cosθ i

Page 11: Interactive Hair Rendering Under Environment Lighting

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: Interactive Hair Rendering Under Environment Lighting

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: Interactive Hair Rendering Under Environment Lighting

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: Interactive Hair Rendering Under Environment Lighting

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: Interactive Hair Rendering Under Environment Lighting

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: Interactive Hair Rendering Under Environment Lighting

16

Self-shadowing

Opacity Shadow Map Deep Opacity Map

Page 17: Interactive Hair Rendering Under Environment Lighting

17

Deep Opacity Map

z

T

z1 z2 z3

Compute the optical depth

Zo

Z1

Z2

Z3

Page 18: Interactive Hair Rendering Under Environment Lighting

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: Interactive Hair Rendering Under Environment Lighting

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: Interactive Hair Rendering Under Environment Lighting

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: Interactive Hair Rendering Under Environment Lighting

21

Results

hair model #fibers #segments

FPSSingle

scatteringanimation 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: Interactive Hair Rendering Under Environment Lighting

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: Interactive Hair Rendering Under Environment Lighting

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: Interactive Hair Rendering Under Environment Lighting

24

Q/A