Heads-up, SilverLining Sky, 3D Cloud, and Weather SDK users! Our latest update, version 5.30, has some minor but important API changes you’ll need to know about.

As we’re refactoring SilverLining to be thread-safe (and therefore better positioned for VR and Vulkan down the road,) we need to eliminate any persistent state stored within the SilverLining::Atmosphere object. This includes “geocentric mode;” previously, you passed a single flag into Atmosphere::DrawSky() indicating whether you are drawing in a geocentric system such as ECEF, and this geocentric state would be remembered when you later called Atmosphere::DrawObjects.

But in a thread-safe world, you need to specify whether you want to draw in geocentric mode every time you ask SilverLining to draw something. As a result, a new geocentric flag has been added to the following methods:

Atmosphere::DrawObjects()
Atmosphere::GetEnvironmentMap()
Atmosphere::UpdateSkyAndClouds()

This flag defaults to false, so if your application is geocentric, SilverLining will no longer function correctly unless you change the geocentric flag wherever you are calling these methods.

We’ve been doing our best to make this transition seamless for existing customers, but we anticipate a few small things such as this will keep popping up as we work toward SilverLining 6, and new usage patterns will be required to take advantage of SilverLining’s emerging multi-threaded drawing capabilities.

As always, if you encounter any unexpected problems with a SilverLining update, please let us know.