This is a screenshot of the visual system developed by Alsim for its
flight trainers. I worked in this company eight months and one of the
tasks was to design and implement some realistic volumetric clouds.
The method used is inspired from the Mark Harris and Niniane Wang
papers. It consists of dividing a cloud into metaballs and represent
them by billboards. In order to reduce the number of metaballs
required to give the cloud a realistic appearance, the billboards are
textured. A set of textures is generated thanks to Perlin Noise
Also, to reduce the overdraw due to all those transparent billboards
(125 per cloud), each cloud is rendered by an imposter (which itself
uses a texture manager to avoid video memory fragmentation). On each
frame, imposter's accuracy is tested in order to update it if
needed. The number of imposters to update by frame rules the tolerance
used in the test to keep this number low enough.
The color is computed by hardware light functions. Normal vectors
depend both on the position of the metaball inside the cloud, the
observer, the cloud, and the sun.
Finally, we can manage more than 200 clouds in real-time (at least 30
fps, on an Ati Radeon 9800 Pro powered PC). The user can fly around,
and get in the clouds, resulting in realistic effects.
You can find more information on the Alsim website (http://www.alsim.com)
and on my personnal webpage (http://zavie.free.fr/alsim).