Upload
valentin-janiaut
View
834
Download
1
Tags:
Embed Size (px)
Citation preview
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
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) = ????
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
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
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)