Stochastic Transparency

Stochastic transparency provides a unified approach to order-independent transparency, antialiasing, and deep shadow maps. It augments screen-door transparency using a random sub-pixel stipple pattern, where each fragment of transparent geometry covers a random subset of pixel samples of size proportional to alpha. This results in correct alpha-blended colors on average, in a single render pass with fixed memory size and no sorting, but introduces noise. We reduce this noise by an alpha correction pass, and by an accumulation pass that uses a stochastic shadow map from the camera. At the pixel level, the algorithm does not branch and contains no read-modify-write loops, other than traditional z-buffer blend operations. This makes it an excellent match for modern massively parallel GPU hardware. Stochastic transparency is very simple to implement and supports all types of transparent geometry, able without coding for special cases to mix hair, smoke, foliage, windows, and transparent cloth in a single scene.

[1]  Frederick P. Brooks,et al.  Fast spheres, shadows, textures, transparencies, and imgage enhancements in pixel-planes , 1985, Advances in Computer Graphics.

[2]  Peter Shirley,et al.  Image synthesis using adjoint photons , 2006, Graphics Interface.

[3]  Scott Kircher,et al.  Inferred lighting: fast dynamic lighting and shadows for opaque and translucent objects , 2009, SIGGRAPH 2009.

[4]  Ulf Assarsson,et al.  Hair self shadowing and transparency depth ordering using occupancy maps , 2009, I3D '09.

[5]  Kurt Akeley,et al.  Reality Engine graphics , 1993, SIGGRAPH.

[6]  Tom Duff,et al.  Compositing digital images , 1984, SIGGRAPH.

[7]  Loren C. Carpenter,et al.  The A -buffer, an antialiased hidden surface method , 1984, SIGGRAPH.

[8]  システムソフトエンジニアリング OpenGL programming guide(日本語版) : the official guide to learning OpenGL, release 1 , 1993 .

[9]  Fang Liu,et al.  Bucket depth peeling , 2009, SIGGRAPH '09.

[10]  Philippe Flajolet,et al.  Analytic Combinatorics , 2009 .

[11]  Don P. Mitchell,et al.  Consequences of stratified sampling in graphics , 1996, SIGGRAPH.

[12]  Ulf Assarsson,et al.  Real-time approximate sorting for self shadowing and transparency in hair rendering , 2008, I3D '08.

[13]  Cass W. Everitt,et al.  Interactive Order-Independent Transparency , 2001 .

[14]  Elmar Eisemann,et al.  Fast scene voxelization and applications , 2006, I3D '06.

[15]  Robert L. Cook,et al.  Distributed ray tracing , 1984, SIGGRAPH.

[16]  Cem Yuksel,et al.  Deep Opacity Maps , 2008, Comput. Graph. Forum.

[17]  Cláudio T. Silva,et al.  Interactive rendering of large unstructured grids using dynamic level-of-detail , 2005, VIS 05. IEEE Visualization, 2005..

[18]  Meenakshisundaram Gopi,et al.  Silhouette-Opaque Transparency Rendering , 2003, Computer Graphics and Imaging.

[19]  Louis Bavoil,et al.  Order Independent Transparency with Dual Depth Peeling , 2008 .

[20]  Enhua Wu,et al.  Multi-layer depth peeling via fragment sort , 2009, 2009 11th IEEE International Conference on Computer-Aided Design and Computer Graphics.

[21]  Tom Davis,et al.  Opengl programming guide: the official guide to learning opengl , 1993 .

[22]  James Arvo,et al.  Particle transport and image synthesis , 1990, SIGGRAPH.

[23]  Martin Mittring,et al.  Finding next gen: CryEngine 2 , 2007, SIGGRAPH Courses.

[24]  Aaron E. Lefohn,et al.  Multi-fragment effects on the GPU using the k-buffer , 2007, SI3D.

[25]  Hans-Peter Seidel,et al.  Exponential shadow maps , 2008, Graphics Interface.

[26]  Hans-Peter Seidel,et al.  Convolution Shadow Maps , 2007, Rendering Techniques.

[27]  Ulrich Neumann,et al.  Opacity Shadow Maps , 2001, Rendering Techniques.

[28]  Andrew Lauritzen,et al.  Variance shadow maps , 2006, I3D '06.

[29]  Louis Bavoil,et al.  Fourier opacity mapping , 2010, I3D '10.

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