Documentation
Jump to a particular topic bookmarked below, or access the entire documentation section by clicking the big button to the right.
Documentation Bookmarks
SilverLining™ Licensing
How to obtain a license for SilverLining™.
Overview of SilverLining™
A high-level overview of SilverLining™, its components, and its classes.
Using SilverLining™
Step-by-step examples of how to integrate SilverLining™ into your application.
- A simple example
- Integration Tips with Popular Scene Graphs
- Using SilverLining™ in Geocentric or ECEF (Earth Centered Earth Fixed) Coordinates
- Simulating Precipitation with SilverLining™
- Manipulating Time with SilverLining™
- Considerations for Multi-Channel and Multi-Context Setups
- Managing Your Own Drawing
- Advanced: using shadow maps
- Using SilverLining™ with High Dynamic Range applications (HDR)
- Tweaking SilverLining™’s Appearance
SilverLining™ Troubleshooting Tips
Troubleshooting tips if you’re getting unexpected results.
SilverLining™ Support
How to get help from Sundog Software, LLC when you’re stuck.
How to integrate SilverLining™
SilverLining™ is easy to integrate into your C or C++ – based graphics applications. Here’s an example of how easy it is to integrate SilverLining™ into an OpenGL application; the process is similar for Direct3D.
First, after initializing your graphics subsystem, initialize SilverLining™:
- Atmosphere *atm = new Atmosphere();
- atm->Initialize(Atmosphere::OPENGL);
Let’s say you want to add a deck of cumulus congestus clouds to the scene:
- CloudLayer *cloudLayer = CloudLayerFactory::Create(CUMULUS_CONGESTUS);
- cloudLayer->SetBaseAltitude(1000);
- cloudLayer->SetThickness(100);
- cloudLayer->SetBaseLength(30000);
- cloudLayer->SetBaseWidth(40000);
- cloudLayer->SetDensity(0.25);
- cloudLayer->SetLayerPosition(5000, 5000);
- cloudLayer->SeedClouds(*atm);
- atm->GetConditions()->AddCloudLayer(cloudLayer);
At the beginning of rendering your frame, after setting the view and projection matrices, call:
- atm->BeginFrame(true);
This will draw the sky and do any necessary lighting computations for your scene.
Then, at the end of your frame, call:
- atm->EndFrame();
This will draw the clouds, sorted from back to front.
Of course, there is much more that SilverLining™ can do, but the above code is all that’s required to get up and running with a scene of clouds filling the sky. The complete public API is well-documented and viewable online.
API Reference PDF
SilverLining™ Documentation in PDF formatYour SDK includes full documentation in HTML or compiled HTML format. If you prefer your documentation on paper, here’s a nicely formatted PDF version of our documentation and API reference suitable for printing and binding.

