Posted by Frank Kane on 10th October 2010

Version 2.0 is Out! GPU Ray-Casting of 3D Volumetric Clouds comes to SilverLining

GPU ray-casted stratocumulus clouds in SilverLining 2.30After a successful round of beta testing, SilverLining 2.0 is now available from our download page! Licensed users may obtain the full source version of the 2.0 SDK using the same download location and password you received with your license purchase.

SilverLining 2.0 introduces the new stratocumulus cloud layer. Unlike other cumulus cloud layers that are render their volume data using billboard splatting, stratocumulus employs a sophisticated fragment program that renders and lights every individual pixel of the clouds entirely on the GPU. Real-time ray casting is performed on each fragment, amassing lighting and opacity information as indivudal rays pass from the camera through each fragment of the stratocumulus cloud layer. In addition to providing much more detailed lighting of the clouds, this approach enables much denser cloud layers than were previously possible, and avoids any artifcacts from billboarding. You will need a shader model 3.0 or newer video card, and a reasonably modern one to ensure good performance. We’ve gotten good results from both an NVidia GTX 8800 and an ATI Radeon HD 5850 internally.

If you’re upgrading from a previous version, be sure to replace the libs, resource directory, and headers in your existing build with┬áthe new SDK. If you’re using methods that return STL objects such as Atmosphere::GetObjects, you’ll need to update your code to use the new macros SL_VECTOR and SL_MAP instead when handling STL objects returned by SilverLining. Otherwise, SilverLining 2.0 is backward-compatible and upgrading should be painless.

SilverLining 2.0 also introduces the Allocator class, which can be used to re-route all of SilverLining’s heap allocations through your own memory manager. The new Atmosphere::SetWorldUnits method will allow you to easily use SilverLining in applications where a unit is not equal to one meter as we previously assumed, and we’ve introduced sample integration code for NVidia’s SceniX engine and the Carmenta engine. For a list of all new features and bug fixes, see the release notes included with the 2.0 SDK.

We’re very excited about this major new release! If you have any questions, problems, or configuration tweaks you’d like to share, please send them to us at

Leave a Reply