Fast Skies and 3D Clouds for Any Simulated Weather Conditions
Half of your outdoor scene is the sky – make it look its best with the SilverLining Sky, 3D Cloud, and Weather SDK. Volumetric clouds and atmospheric effects can take man-years to create and refine; we offer a shortcut. SilverLining™ provides visual simulation of the sky and atmospheric scattering, time of day effects for any time and location, and weather effects with the following 3D volumetric cloud types:
- Cumulus Congestus
- Cumulus Mediocris
- Cumulonimbus (with lightning)
- Stratus (solid and broken)
With SilverLining™ , you can add realistic 3D clouds to your outdoor scenes – while still maintaining real-time framerates. These are truly 3D, volumetric clouds that may be flown around and through with accurate effects and lighting.
The SilverLining SDK is provided as a C++ library for Windows, MacOS, Android, iOS, or Linux, with C# and Java bindings as well. It supports DirectX 9 – 11 and OpenGL 2.0 through 4.0. Integrations are available with Unity, OpenSceneGraph, Ogre, SceniX, Havok Vision, Gamebyro, and Carmenta.
Typical scenes featuring dense cloud decks of cumulus clouds will run at hundreds of frames per second on commodity hardware, using dynamically generated impostors to power large areas of thick clouds at high frame-rates. For the most performance-conscious applications, SilverLining™ is highly configurable to allow you to make your own decisions about how to best trade off rendering time and quality.
Unlike other 3D cloud rendering solutions, our clouds are procedurally generated. That means that instead of seeing copies of the same clouds over and over again, every cloud is different, every time you generate a scene. This leads to enhanced realism and immersion.
When initializing a scene, a cloud deck is “grown” from scratch using physical principles that govern cloud development in the real world.
Not only are individual clouds formed in this manner, but the size and distribution of the clouds is also governed by a model based on a survey of observations of the properties of cumulus clouds at various locations around the world.
All of our cumulus clouds are based on true 3D volumetric data, and are rendered using volumetric splatting and GPU ray-casting techniques. Stratocumulus clouds are rendered entirely on the GPU, enabling very dense, 3D clouds with per-pixel lighting in realtime.
SilverLining also interoperates with our Triton Ocean and 3D Water SDK to provide realistic environmental reflections and lighting.
Download a free evaluation SDK and see how simple it is to integrate SilverLining into your game or simulation.
Real Atmospheric Scattering
Our clouds are integrated with SilverLining™ ‘s outdoor lighting simulation in order to provide cloud lighting with a physical realism that has never before been seen in real-time rendering applications.
Then, using concepts from prior research at the Jet Propulsion Laboratory, we model the scattering of this light through and within each cloud as it finds its way to the scene’s camera location – using real empirical data about the actual size and density of the droplets that make up a given cloud type.
The result is stunningly realistic clouds at dawn, daytime, dusk, night, or any time in between.
Storms and Lightning
Cumulonimbus clouds also incorporate lightning effects. As with the clouds themselves, the lightning is procedurally generated for added realism. Lightning illuminates the parent cloud and have animation effects to simulate the flickering due to return strokes.
Stratus cloud decks have thickness and a configurable “scud” layer above and below them. They accurately influence lighting when the viewpoint is below the cloud deck based on our own extension of the CIE overcast sky model.
Stratus decks may also be configured to be “broken” – this provides a visual approximation to scattered clouds with extremely high performance characteristics.
Fog effects inside a stratus cloud will honor the “holes” of a broken cloud deck – that is, you can fly right through a clear patch with no visibility impact.
SilverLining makes it easy to add cloud shadows into your scene. One function call will give you a shadow map along with the matrix you need to apply it to the terrain and objects in your scene with a simple texture multiplication. We let you adjust the darkness of the shadows, and their resolution. To keep performance up, we optionally return a shadow map that encompasses the entire scene so you don’t need to regenerate it every frame. By applying a simple translation to the shadow matrix returned to account for any cloud motion from wind, you can achieve moving cloud shadows on the terrain with virtually no rendering overhead.
Cloud-casted shadows on terrain that move with the clouds adds an extra dimension of realism to your scene. SilverLining’s shadow maps are compatible with OpenGL, DirectX9, DirectX10, and DirectX11.
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.
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.
Fast, Accurate Procedural Skyboxes and Time of Day Effects
SilverLining™ also provides a visual simulation of the sky itself. This is no simple gradient of blue drawn in the background – this is based on a real-time physical simulation that starts with NASA data of the solar spectrum, astronomical computations of the solar position relative to the local horizon, and simulates the atmospheric scattering of this light through the Earth’s atmosphere as it makes its way through the molecules and particles of the air.
This is done using a highly accurate clear-sky model developed by the National Renewable Energy Laboratory adapted for real-time use, in conjuction with previously published work on sky luminance distribution.
The result: accurate skies for any time of day, for any location on the planet. Sunsets and sunrises with red horizons. Illuminated full-moon nights. Long shadows in the winter. It all adds up to increased realism for your outdoor scenes.
How do we do all this computation in real-time? Much of the calculation is offloaded to your 3D graphics card using custom shaders written to compute the sky color at any given direction in the sky. This allows SilverLining™ to continue its calculations while the sky is simulated in parallel using the processor on your video card.
There are more things in the sky than just the sun. SilverLining™ also accurately computes positions of visible stars and planets for nighttime scenes, and renders them accurately according to their stellar magnitude.
The moon also acts as a light source in SilverLining™, and its position and phase is simulated and affects your outdoor scenes as well. On dark nights, especially bright planets or stars are also subjected to a physically-based glare simulation, which is also offloaded to your graphics card as a shader.
Your outdoor scenes include more than just the sky and clouds. SilverLining™ can help you accurately light everything else.
The SilverLining™ library will return to you the same directional and ambient light information it uses to illuminate its own clouds. This light information is subjected to a sophisticated tone mapping operation; the actual range of luminance between day and night is much more than a computer monitor or projector can display.
SilverLining™ actually simulates how the human eye and brain responds to light, so for example – moonlit nighttime scenes still remain visible (but without color perception and with a blue shift). Night smoothly turns into day, with a warm glow from the rising sun illuminating your scene.
Physically-based outdoor scene lighting provided by SilverLining™ lends extra realism to your outdoor scenes. Your moonlit nights will look just like humans perceive them and expect them to look, and daytime scenes will take on the proper hues from the direct sunlight and scattered, ambient skylight.
SilverLining in Action
A great example of a SilverLining integration is the SkyMaxx Pro add-on for the X-Plane 10 consumer flight simulator. Here’s a demo video showcasing SilverLining’s 3D volumetric clouds in the context of a real flight sim, courtesy of redpiper1: