Posted by Frank Kane on 15th May 2013

New Hosek-Wilkie Sky Model in SilverLining 2.8

The SilverLining Sky, 3D Cloud, and Weather SDK has always used an extended Preetham sky model (read the 1999 SIGGRAPH paper) for coloring its procedural skies for any simulated time and location.  We improved upon it by using our own, more accurate solar radiance simulation, adding perceptual tone-mapping, and adding new algorithms for handling twilight and moonlit conditions. But, it’s always been a little too pink at the horizon, and there’s never been much we could do about that.

SilverLining 2.8 fixes that by introducing a new default sky model based on the Hosek-Wilkie Sky Model, introduced in the 2012 SIGGRAPH proceedings. It’s much more detailed, and yields more realistic sky colors as a result – especially near the horizon, around the sun, and in hazy conditions.

Check out this video comparing the two models side by side using SilverLining:

One thing you’ll notice is that during the day, the Hosek-Wilkie model produces deeper blues than Preetham – perhaps a little too dark, comparing it to the view outside my window. This is probably specific to our tone mapping and gamma correction, but there are several ways to lighten up the sky if you wish.  Since Hosek-Wilkie models atmospheric turbidity more accurately, you might want to increase the simulated turbidity a bit using AtmosphericConditions::SetTurbidity(). Increasing the setting for sky-box-gamma-hosek in the resources/silverlining.config file will also brighten up the sky a bit, as will increasing the simulated ground albedo with the ground-albedo setting.

If you prefer things the way they were, you can switch back to the Preetham model with a simple call to Atmosphere::SetSkyModel(PREETHAM).

As with the Preetham model, we’ve also extended the Hosek-Wilkie model with our own solar and lunar radiance models, perceptual tone-mapping, twilight simulation, and moonlight simulation.

SilverLining Software Development Kit for Windows

(SilverLining SDK for Mac/Linux)
(SilverLining SDK for Android)

Leave a Reply