290 likes | 484 Views
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 We can draw it with glDrawArray using GL_LINES_STRIP . Basic shading model is not realistic at all.
E N D
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 • We can draw it with glDrawArray using GL_LINES_STRIP. • Basic shading model is not realistic at all. Basic OpenGL illumination Deep Opacity Map [YUK08]
Environment Lighting • Natural Illumination • No directional light Single Light Environment Lighting
Spherical Function How to represent a spherical function? SPHERICAL HARMONIC
Spherical Radial Basis Function • Useful to approximate spherical function Spherical Coordinate of the center of the SRBF Number of SRBF to use for the approximation Spherical Coordinate of the Spherical Function Bandwidth of the center of the SRBF Coefficient depending of the problem SRBF with actually 5 parameters • Same idea than Fourier Series.
SRBF Light • A SRBF function can represent a light in graphic rendering. Gaussian distribution. Expression of the SRBF light j. Intensity of the light j. 3D 2D Result on the sphere Gaussian distribution
SRBF and Environment Lighting • We can now represent the environment lighting as the sum of the SRBF lights, as following:
Outgoing Curved Intensity Diameter of the hair fiber Bidirectional scattering function Transmittance Environment Lighting
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
Bidirectional scattering function • The scattering is the deviation of the straight trajectory of a ray light due to an obstacle. • S(ωi,ωo) will be the bidirectional scattering function, similar to BRDF in surface reflectance.
A scattering model. • Kajiya and Kay model [1989]
Environment Lighting Approximation • Remember SRBF? It’s time to use it.
Effective Transmittance • Last step of our simplification • Average attenuation of the SRBF Lighting j. • How to compute this equation?
Splitting the equation Convolution of SRBF and scattering function. Transmittance
Convolving SRBF and Scattering Function • Marschner et al. model [2003] With:
Computing Effective Transmittance • Sampled at the SRBF center • Use of the Deep Opacity Map technique Precomputed in a table
Self-shadowing Opacity Shadow Map Deep Opacity Map
Deep Opacity Map Zo Z1 Z2 Z3 T z z1 z2 z3 Compute the optical depth
Multiple Scattering • More realistic model. Convolution of SRBF and scattering function. Transmittance
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 on a rough grid • Store as 3D texture • Hardware tri-linear interpolation
Algorithm OverviewSingle Scattering • Runtime • Generate Deep Opacity Depth Map (DODM) • Construct the Summed Area Table • Sample the effective transmittance • Sample the single scattering integral • Precompute • SRBF decomposition • Single Scattering integration table
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
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.