SilverLining: SilverLining(tm) Software Development Kit (SDK) User's Manual

# SilverLining(tm) Software Development Kit (SDK) User's Manual

### 2.36

Thanks for using SilverLining! SilverLining is a class library for real-time visual simulation of the atmosphere, clouds, sky, precipitation, sun, moon, stars, and planets. SilverLining allows you to create highly realistic, high-performance outdoor scenes with 3D clouds for any location at any time of day.

Although SilverLining includes some very complex physical simulations of extraterrestrial light passing through the atmosphere and clouds, using it within your application is very simple. All you need to do is initialize SilverLining to tell it some information about the outdoor conditions you wish to simulate, and then call a single method at the beginning of your frame rendering, and another at the end.

SilverLining is designed to easily plug into any renderer written on top of OpenGL 1.4 and above, OpenGL 3.2 "core contexts", DirectX 9, DirectX 10, or DirectX 11. Integration code is also provided for OpenSceneGraph, SceniX, Carmenta, and Ogre3D, and is available separately for Gamebryo(R) Lightspeed(tm) at pulse.emergent.net.

All you need is the ability to call SilverLining when your frame begins, and again when your frame is over and you're ready to draw translucent objects in the scene. Users who require lower-level access also have the underlying cloud objects available so you can draw them individually within your scene graph, and licensed customers receive full source code if even lower-level access is required. We provide libraries for Windows, MacOS, and Linux developers, and customers have successfully ported SilverLining to the XBox360 and iOS. A C# wrapper is also provided on top of our C++ libraries.

This documentation will get you started. In addition to the class reference information included here, some additional information is also available:

- SilverLining Licensing How to obtain a license for SilverLining.

- Overview of SilverLining A high-level overview of SilverLining, its components, and its classes.
  - SDK Contents
  - Distributing SilverLining with Your Application
  - Overview of SilverLining
    - Windows Build Settings
    - Linux Build Settings and Dependencies
    - Building with C#

- Using SilverLining Step-by-step examples of how to integrate SilverLining into your application.
  - A simple example
    - Initialization
    - Infinite Cloud Layers
    - Cloud Animation Effects
    - Integrating SilverLining with your Rendering Loop
    - Lighting Your Scene with SilverLining
    - Fog Effects with SilverLining
  - Drawing Your Skybox Last Instead of First
  - Direct Integration With Custom Renderers
  - Memory Management with SilverLining
  - Resource Management with SilverLining
  - Stratocumulus Cloud Layers
  - 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, Multi-Viewport, 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 and performance tuning tips if you're getting unexpected results.

- SilverLining Support How to get help from Sundog Software, LLC when you're stuck.