Stochastic Transparency

"Stochastic Transparency"
Eric Enderton (NVIDIA), Erik Sintorn (Chalmers University), Peter Shirley (NVIDIA), David Luebke (NVIDIA), in IEEE Transactions on Visualization and Computer Graphics (original version in Symposium on Interactive 3D Graphics and Games (I3D) 2010), August 2011
Research Area: 3D Graphics
Author(s): Eric Enderton (NVIDIA), Erik Sintorn (Chalmers University), Peter Shirley (NVIDIA), David Luebke (NVIDIA)
Date: August 2011
DX code

Stochastic transparency provides a unified approach to order-independent transparency, anti-aliasing, 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.