Real-time volumetric shadows using 1D min-max mipmaps

Light scattering in a participating medium is responsible for several important effects we see in the natural world. In the presence of occluders, computing single scattering requires integrating the illumination scattered towards the eye along the camera ray, modulated by the visibility towards the light at each point. Unfortunately, incorporating volumetric shadows into this integral, while maintaining real-time performance, remains challenging. In this paper we present a new real-time algorithm for computing volumetric shadows in single-scattering media on the GPU. This computation requires evaluating the scattering integral over the intersections of camera rays with the shadow map, expressed as a 2D height field. We observe that by applying epipolar rectification to the shadow map, each camera ray only travels through a single row of the shadow map (an epipolar slice), which allows us to find the visible segments by considering only 1D height fields. At the core of our algorithm is the use of an acceleration structure (a 1D minmax mipmap) which allows us to quickly find the lit segments for all pixels in an epipolar slice in parallel. The simplicity of this data structure and its traversal allows for efficient implementation using only pixel shaders on the GPU.

[1]  Hans-Peter Seidel,et al.  Maximum mipmaps for fast, accurate, and scalable dynamic height field rendering , 2008, I3D '08.

[2]  Kun Zhou,et al.  Line space gathering for single scattering in large scenes , 2010, ACM Trans. Graph..

[3]  Carsten Dachsbacher,et al.  Epipolar sampling for shadows and crepuscular rays in participating media with single scattering , 2010, I3D '10.

[4]  Tomoyuki Nishita,et al.  Anti-aliased and real-time rendering of scenes with light scattering effects , 2007, The Visual Computer.

[5]  Hans-Peter Seidel,et al.  Interactive volume caustics in single-scattering media , 2010, I3D '10.

[6]  Ulf Assarsson,et al.  Real time volumetric shadows using polygonal light volumes , 2010, HPG '10.

[7]  Bo Sun,et al.  A practical analytic single scattering model for real time rendering , 2005, ACM Trans. Graph..

[8]  Chris Wyman,et al.  Multiresolution splatting for indirect illumination , 2009, I3D '09.

[9]  Per H. Christensen,et al.  Efficient simulation of light transport in scenes with participating media using photon maps , 1998, SIGGRAPH.

[10]  Matthias Zwicker,et al.  The Beam Radiance Estimate for Volumetric Photon Mapping , 2008, SIGGRAPH '08.

[11]  James F. Blinn,et al.  Light reflection functions for simulation of clouds and dusty surfaces , 1982, SIGGRAPH.

[12]  F. Kenton Musgrave,et al.  The synthesis and rendering of eroded fractal terrains , 1989, SIGGRAPH.

[13]  Tom Lokovic,et al.  Deep shadow maps , 2000, SIGGRAPH.

[14]  Yoshinori Dobashi,et al.  Interactive rendering method for displaying shafts of light , 2000, Proceedings the Eighth Pacific Conference on Computer Graphics and Applications.

[15]  Steven G. Parker,et al.  An Analytical Solution to Single Scattering in Homogeneous Participating Media , 2009, Comput. Graph. Forum.

[16]  Jaakko Lehtinen,et al.  A hierarchical volumetric shadow algorithm for single scattering , 2010, ACM Trans. Graph..

[17]  Gary Mastin,et al.  Fourier Synthesis of Ocean Scenes , 1987, IEEE Computer Graphics and Applications.

[18]  Nelson L. Max,et al.  Atmospheric illumination and shadows , 1986, SIGGRAPH.

[19]  Keenan Crane,et al.  Fast GPU ray tracing of dynamic meshes using geometry images , 2006, Graphics Interface.

[20]  C. Wyman,et al.  Interactive volumetric shadows in participating media with single-scattering , 2008, 2008 IEEE Symposium on Interactive Ray Tracing.

[21]  Yoshinori Dobashi,et al.  Interactive rendering of atmospheric scattering effects using graphics hardware , 2002, HWWS '02.

[22]  Loïc Barthe,et al.  Real-time soft shadow mapping by backprojection , 2006, EGSR '06.

[23]  Mathias Schott,et al.  A Closed‐Form Solution to Single Scattering for General Phase Functions and Light Distributions , 2010, Comput. Graph. Forum.