Spherical Billboards for Rendering Volumetric Data

(Notes from Chapter 5.1 - ShaderX5)

Formally - a particle system is a discretization of a continuous medium, where each particle represenets a spherical neighbourhood in which the volume is locally homogeneous. (e.g. everything in the volume is pretty much the same)

This is an excellent article. In the accompanying paper, the authors also make an extremely strong point for rendering the sprites to a smaller buffer for speed, and IMHO, better image quality.

The Opacity function is interesting. It fades off naturally the closer you get to the edges of the particle. This overrides the artist defined alpha and may not be desired for a game. Otherwise, the code to fade off the particle as it approaches the near plane will undoubtedly be useful. Also interesting is the exponential falloff:

alpha = 1 - exp(-density * (1 - d / r ) * ds);

 

The Benefits of Downsizing