Interactive Hair Rendering Under Environment Lighting Valentin JANIAUT Zhong Ren, Kun Zhou, Tengfei Li, Wei Hua, Baining Guo
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 fiber 4 strands
3 Environment Lighting ● Natural Illumination ● No directional light Environment Lighting Single Light
4 Spherical Function How to represent a spherical function? SRBF
5 Spherical Radial Basis Function ● Useful to approximate spherical function 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.
6 SRBF Light ● A SRBF function can represent a light in graphic rendering. Expression of the SRBF light j. Intensity of the light j. Gaussian distribution Result on the sphere 2D 3D Gaussian distribution.
7 SRBF and Environment Lighting ● We can now represent the environment lighting as the sum of the SRBF lights, as following:
8 Outgoing Curved Intensity Diameter of the hair fiber Environment Lighting Transmittance Bidirectional scattering function
9 Transmittance or Absorbtance Transmittance is the fraction of incident light that passes through a sample. Attenuation coefficient. Density function: 1 if covered by hair fiber. 0 otherwise
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]
11 Environment Lighting Approximation ● Remember SRBF? It’s time to use it.
12 Effective Transmittance ● Last step of our simplification ● Average attenuation of the SRBF Lighting j. ● How to compute this equation?
13 Splitting the equation Transmittance Convolution of SRBF and scattering function.
14 Convolving SRBF and Scattering Function ● Marschner et al. model [2003] With: cos( ϕ ξ - ϕ o )
15 Computing Effective Transmittance Precomputed in a table Sampled at the SRBF center Use of the Deep Opacity Map technique
16 Self-shadowing Opacity Shadow Map Deep Opacity Map
17 Deep Opacity Map z z T T z1z1 z1z1 z2z2 z2z2 z3z3 z3z3 Compute the optical depth ZoZo Z1Z1 Z2Z2 Z3Z3
18 Multiple Scattering Transmittance Convolution of SRBF and scattering function. ● More realistic model.
19 Multiple Scattering Computation ● Voxelize Hair Model ● For each voxel store: ● ϖ : Average Fiber Direction ● ν : Standard Deviation of fiber direction ● ς t Τ : Perpendicular Attenuation Coefficient ● Sample T f and σ f on a rough grid ● Store as 3D texture ● Hardware tri-linear interpolation
20 Algorithm Overview Single 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
21 Results hair model#fibers#segments FPS Single scattering animation10K270K16.2 straight10K160K17.8 ponytail20K900K11.1 curly50K3.4M2.30 wavy10K687K12.3 natural10K1.6M9.20
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
23 References ● (Author of the main paper, some of his slides are used in this slideshow) ● (Author of the Deep Opacity Maps and numerous other paper about hair rendering) ● Illustration on slide 10 comes from wikipedia. ● pers/srbf/srbf.html Lecture about SRBF. pers/srbf/srbf.html
24 Q/A