1
SIGGRAPH 2010 Single Scattering in Heterogeneous Participating media Cyril Delalandre Pascal Gautron Jean-Eudes MarvieGuillaume François Technicolor Research & Innovation The Moving Picture Company 2
Real Light Scattering Light interaction with heterogeneous participating media 3
Participating Media Characterized by: –σ a : absorption coefficient –σ s : scattering coefficient –σ t : σ a + σ s, extinction coefficient –D(s) : medium density at the point s 4
Single Scattering in participating media 5
Explicit ray-marching KiKi P in P out K in K out P3P3 P2P2 P1P1 PnPn 6
Outline Introduction Previous works Our algorithm Results Conclusion 7
Outline Introduction Previous worksPrevious works Our algorithm Results Conclusion 8
Previous works [Zhou08] [Gautron09] [Jansen10] 9
Volumetric Shadow Mapping [Gautron09], Siggraph Talk Real-time rendering -Homogeneous medium 10
Real-time smoke rendering by using compensed ray marching, [Zhou08], Siggraph Real-Time rendering +Single and Multiple scattering +Heterogeneous medium -Heavy precomputation 11
Fourier Opacity Map, [Jansen10], I3D Real-time rendering +Heterogeneous medium -No scattering computation 12
Outline Introduction Previous works Our algorithmOur algorithm Results Conclusion 13
Goals Single scattering Volume shadows Dynamic Viewpoint and Lighting Generic and Dynamic Medium Scalable Without pre-computation 14
Acceleration of the light reduced intensity computation Small memory footprint Contributions 15 Attenuation Function Map
Algorithm Light Depth Map Attenuation function map View Depth & radiance Map Scattering Computation 16
Attenuation Function Map C 0 = 0 C 1 = 0. C n = 0 C 0 += att 1 x C 1 += att 1 x. C n += att 1 x C 0 += att 2 x C 1 += att 2 x. C n += att 2 x C 0 += att n x C 1 += att n x. C n += att n x Light Point of View 1.Opaque objects Depth Map 2.For each pixel: a.Bounding box Intersection b.Coefficient Computation by ray- marching 17
Attenuation Function Map Light Point of View 1.Opaque objects Depth Map 2.For each pixel: a.Bounding box Intersection b.Coefficient Computation by ray- marching c.Store in Multi Render Targets C 0-n (0,0) C 0-n (K,0)C 0-n (K,L) C 0-n (0,L) C 0-n (i,j) 18
Scene Rendering In User point of view: 1.Compute the depth and reflected radiance of opaque objects (R,G,B)(Alpha) 19
Compute Scattering C 0-n (0,0) C 0-n (K,0 ) C 0-n (K,L) C 0-n (0,L) C 0-n (i,j ) 2.Intersection of the medium bounding box 20 Depth Map Attenuation Function Map
Compute Scattering C 0-n (0,0) C 0-n (K,0 ) C 0-n (K,L) C 0-n (0,L) C 0-n (i,j ) 3.Perform a ray-marching 21 Depth Map Attenuation Function Map
Compute Scattering C 0-n (0,0) C 0-n (K,0 ) C 0-n (K,L) C 0-n (0,L) C 0-n (i,j ) For each ray sample: a.Check the sample visibility b.Check the light visibility c.Lri computation using the coefficients Lri = c 0 x+ c 1 x + … + c n x 22 Depth Map Attenuation Function Map
Results Comparison between our algorithm and an explicit ray-marching algorithm 100 samples per ray / 16 DCT coefficients 23 Speed-up 30x
Ringing artifacts High Density Medium 24
Add a scale factor to avoid ringing artifacts High Density Medium Transformed Signal Reconstructed Signal 25
High Density Medium Without scale factorWith scale factor 26 Explicit ray-marching
Demos – GTX 480 – 720p samples / view ray, 16 DCT coefficients, medium size, 10 FPS
Demos – GTX 480 – 720p samples / view ray, 16 DCT coefficients, medium size, 19 FPS
Conclusion 29 Single Scattering Volume Shadows Fast Lri computation Scalable Generic No pre-computation
Large medium Multiple Scattering Particle representation Image Lighting Future Works 30
Thanks to A. W. Bargteil and C. Thompson (University of Utah) for the fluid simulation Thanks to K. Bouatouch for his research supervision Acknowledgements 31 Questions ?