320 likes | 468 Views
SIGGRAPH 2010. Single Scattering in Heterogeneous Participating media. Cyril Delalandre Pascal Gautron Jean-Eudes Marvie Guillaume François Technicolor Research & Innovation The Moving Picture Company. Real Light Scattering.
E N D
SIGGRAPH 2010 Single Scattering in Heterogeneous Participating media Cyril Delalandre Pascal Gautron Jean-Eudes Marvie Guillaume François Technicolor Research & Innovation The Moving Picture Company
Real Light Scattering • Light interaction with heterogeneous participating media
Participating Media • Characterized by: • σa: absorption coefficient • σs: scattering coefficient • σt : σa + σs , extinction coefficient • D(s) : medium density at the point s
Explicit ray-marching Kin Pin Ki P1 P2 P3 Pn Pout Kout
Outline • Introduction • Previous works • Our algorithm • Results • Conclusion
Outline • Introduction • Previous works • Our algorithm • Results • Conclusion
Previous works [Zhou08] [Jansen10] [Gautron09]
Volumetric Shadow Mapping[Gautron09], Siggraph Talk 2009 • Real-time rendering • Homogeneous medium
Real-time smoke rendering by using compensed ray marching, [Zhou08], Siggraph 2008 • Real-Time rendering • Single and Multiple scattering • Heterogeneous medium • Heavy precomputation
Fourier Opacity Map, [Jansen10] , I3D 2010 • Real-time rendering • Heterogeneous medium • No scattering computation
Outline • Introduction • Previous works • Our algorithm • Results • Conclusion
Goals • Single scattering • Volume shadows • Dynamic Viewpoint and Lighting • Generic and Dynamic Medium • Scalable • Without pre-computation
Contributions • Acceleration of the light reduced intensity computation • Small memory footprint AttenuationFunctionMap
Algorithm C0,0 C0,j C0,M Light Depth Map Ci,0 Attenuation function map Ci,j Scattering Computation View Depth & radiance Map CN,0 CN,M
Attenuation Function Map • Light Point of View • Opaque objects Depth Map • For each pixel: • Bounding box Intersection • Coefficient Computation by ray-marching att1 C0 += att1 x C1 += att1 x . Cn += att1 x C0 += att2 x C1 += att2 x . Cn += att2 x C0 = 0 C1 = 0 . Cn = 0 C0 += attn x C1 += attn x . Cn += attn x att2 attn
Attenuation Function Map • Light Point of View • Opaque objects Depth Map • For each pixel: • Bounding box Intersection • Coefficient Computation by ray-marching • Store in Multi Render Targets C0-n(0,0) C0-n(0,L) C0-n(i,j) C0-n(K,0) C0-n(K,L)
Scene Rendering • In User point of view: • Compute the depth and reflected radiance of opaque objects (R,G,B) (Alpha)
Compute Scattering Depth Map C0-n(0,0) C0-n(0,L) Attenuation Function Map C0-n(i,j) C0-n(K,0) C0-n(K,L) Intersection of the medium bounding box
Compute Scattering Depth Map C0-n(0,0) C0-n(0,L) Attenuation Function Map C0-n(i,j) C0-n(K,0) C0-n(K,L) Perform a ray-marching
Compute Scattering Depth Map For each ray sample: Check the sample visibility Check the light visibility Lri computation using the coefficients C0-n(0,0) C0-n(0,L) Attenuation Function Map C0-n(i,j) C0-n(K,0) C0-n(K,L) Lri = c0 x + c1 x + … + cn x
Results Speed-up 30x Comparison between our algorithm and an explicit ray-marching algorithm 100 samples per ray / 16 DCT coefficients
High Density Medium • Ringing artifacts
High Density Medium • Add a scale factor to avoid ringing artifacts Transformed Signal Reconstructed Signal
High Density Medium Explicit ray-marching Without scale factor With scale factor
Demos – GTX 480 – 720p 500 samples / view ray, 16 DCT coefficients, 2563 medium size, 10 FPS
Demos – GTX 480 – 720p 100 samples / view ray, 16 DCT coefficients, 1283 medium size, 19 FPS
Conclusion • Single Scattering • Volume Shadows • Fast Lri computation • Scalable • Generic • No pre-computation
Future Works • Large medium • Multiple Scattering • Particle representation • Image Lighting
Acknowledgements • Thanks to A. W. Bargteil and C. Thompson (University of Utah) for the fluid simulation • Thanks to K. Bouatouch for his research supervision Questions ?