Shadows, Performance, and Wind

Shadows
All cumulus clouds generate shadow maps as a by-product of their lighting computations under OpenGL. This shadow map is exposed to the application for use in shadowing your terrain or other world objects, along with the required transform matrices to use it.
Cloud-casted shadows on terrain that move with the clouds adds an extra dimension of realism to your scene. For customers using rendering technologies other than OpenGL, SilverLining™ is flexibile enough to allow you to render the clouds to any offscreen surface (such as a texture intended for shadow mapping) using any view and projection matrix your application requires.

Performance
Fast performance is achieved through the use of vertex shaders to allow extremely fast rendering while using the many specialized transforms required to render our 3D clouds, and through the use of dynamically-generated impostors to exploit the frame coherence of distant clouds. The colors of the sky are computed almost entirely on the GPU, as well as the atmospheric limb effects, the magnitudes and colors of the stars, and the rendering of the cloud geometry. SilverLining™ also stays on top of the latest technology to get faster performance, such as bindless graphics and DirectX 10 and 11.
However, SilverLining™ is compatible with a wide range of systems, and does not require the latest graphics cards in order to run. For every vertex or fragment program we use, there is fallback code to use the CPU and fixed-function pipeline on systems that don’t support shaders or specific features we take advantage of when present.

Wind
SilverLining™ also allows you to simulate wind, with different wind speeds at different altitudes. Clouds will move in response to the wind you configure.
The presence of wind even influences the shapes of the clouds themselves. If you configure high winds while creating your cumulus cloud layers, these winds will stretch out the clouds into longer forms. In the absence of wind, clouds will instead form higher, more compact stacks, just like in the real world.

