improve real-time hair rendering

17
Importance sampling of products from Illumination and BSDF using SRBF Valentin JANIAUT KAIST (Korea Advanced Institute of Science and Technology)

Upload: valentin-janiaut

Post on 12-Jul-2015

834 views

Category:

Health & Medicine


1 download

TRANSCRIPT

Importance sampling of products from Illumination and BSDF using

SRBF

Valentin JANIAUT

KAIST (Korea Advanced Institute of Science and Technology)

2

Overview

● Preliminary notions● BSDF● Light scattering for human fiber● SRBF

● Problem

● Idea

● Results

● And after?

● References

3

BSDF: Bidirectional Scattering Distribution Function

4

BSDF For Hair Rendering

● In 2003 Stefan Marschner proposed a new model for the light scattering for Human Fiber which has been widely used until today.

S(q i,q o,f i,f o) = ????

5

BSDF For Hair Rendering

M(q i,q o)

N(f i,f o)

6

Rendering Equation for the Hair

● Transmittance replace the visibility.

● Single Scattering

● Different optimization to handle the large amount of data.

L(w o) = D L(w i)T(w i)Wò S(w i,w o)cosq idw i

Diameter of the hair fiber Environment Lighting Transmittance Bidirectional

scattering function

7

SRBF

f (w ) » c jj =1

N

å R((w · x j ), l 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

8

SRBF Viewer

9

Advantage of SRBF

● The function can be approximate using just a row of vector: [c,ξ,λ]j

● The product of different SRBF is also an SRBF.

● Integration of SRBF is simple (sampling of the center of each SRBF)

10

Problem

L(w o) = D L jj =1

N

å ÷ T (x j ,l j ) G j (w i)Wò S(w i,w o)cosq idw i

L(w o) = D L(w i)T(w i)Wò S(w i,w o)cosq idw i

11

Problem

G j (w i)Wò S(w i,w o)cosq idw i

Pre-computation of the following integral:

12

Idea

● Approximation using SRBF.

● Two possible ways to solve this.● Approximating the

integral:

Using a SRBF for each ωo

G j (w i)Wò S(w i,w o)cosq idw i

Smooth data efficient approximationNeed to compute the integral.Too much specific.

● Approximating the BSDF:

Using a SRBF for each ωo

S(w i,w o)

Easy computation of the integral using SRBF sampling.Can be used for other computation.Too smooth for the BSDF ?

One SRBF

13

Product of two SRBF

● What if we approximate the BSDF using SRBF?

S(w i,w k ) = S jkGk ((w ik · x jk ), l jk

j =1

N

å

G j (w i)Wò S(w i,w o)cosq idw i

G(w i)Wò S jkG

k ((w ik · x jk ), l jkj =1

N

å )cosq idw i

14

How to check my idea?

● Implementation of Marschner model in Python with SciPy.

● Solving SRBF with SciPy and L-BFGS-B.

15

Results

● Approximating the integral:

Using a SRBF for each ωo

● Approximating the BSDF:

Using a SRBF for each ωo

G j (w i)Wò S(w i,w o)cosq idw i

S(w i,w o)

● Computation of integration too slow with SciPy

● The code need more optimization to work with this approach.

● Encouraging result with 8 SRBF.

● Need to be tested with larger number of SRBF and real data.16 h to obtain the

image! (on a Mac Mini Intel Core 2 Duo 2GHz

1GB Ram)

cos (θi)

cos (θ0)

16

And after?

● Optimizing the code to validate my idea.

● How to merge geometric and scattering data?

● How to create a common method for all kind of hair?

17

References

● 2003: Light Scattering from Human Fiber [Marschner et al.]

● 2007: Practical Global Illumination for Hair Rendering [Cem Yuksel]

● 2008: Dual scattering approximation for fast multiple scattering in hair. [Zinke]

● 2008: Efficient multiple scattering in hair using spherical harmonics. [Moon et

.al]

● 2010: Interactive hair rendering under environment lighting. [Zhong Ren]

● http://hairrendering.wordpress.com/tag/marschner/ (C# implementation of

Marschner Scattering model)

● http://www.scipy.org/ (Scientific Computing in Python)

● http://project.valeuf.org/projects/marschner/ (Website with my source code,

and my PPT)