Make your own nice weather
12 06 2008By Christian Laforte
A sky is like the nature’s face. Looking at a sky, you can’t help but get strong emotions. A gloomy, dark sky causes depression. A bright sky with fluffy clouds is relaxing, opens our imagination and reminds us of vacations. So it’s no surprise that 3D experts have spent a lot of time over the years to recreate this phenomenon. Here’s a quick guide to some of the advances over the past few years. I’ll conclude with something I just discovered, that brings state-of-the-art algorithms at a price that can’t be beat.
1. Pre-historic techniques
The two typical, simple approaches that are still used in a lot of applications and games despite their visual shortcomings, are billboards and simple procedural approaches based on Perlin noise. These techniques produce flat and lifeless images. They really show their age so I’m not going to cover them.

2. Research by Dobashi and Nishita
From memory, these researchers did pioneering work on physically-plausible models to simulate scattering (the way light goes through and bounces on clouds and air particles). Their approaches produced good looking results but not fast enough for interactive applications.

http://nis-ei.eng.hokudai.ac.jp/~doba/
3. Research by Mark Harris
Mark Harris was the first to produce amazing clouds at real-time speed. He achieved this through a combination of techniques including impostors (fancy billboards, updated incrementally), OpenGL-based rendering and simulation, and much more.

4. Other real-time approaches
As Graphics Hardware became easier to program and faster, many algorithms applicable for games were published.
For example:
Fast Fluid Dynamics Simulation on the GPU, again by Mark Harris after he joined NVIDIA.
Volumetric Clouds and Mega Particles by Homam Bahnassi and Wessam Bahnassi
More links at GameDev.net
5. Clouds and Sky SDK
What if you’re in a rush, so you don’t have the time or expertise to implement these fancy algorithms? You could hire someone like us to get it done quickly, but someone brought to my attention a new solution that sounds too good and too cheap to be true. From their web site:
Simul Clouds is a C++ library which provides access to cloud data for real-time applications. Simul Clouds creates volumetric cloud data, and provides realtime access to that data via a lightweight API. The Simul Clouds library deals with pure volumetric data, it is cross platform and renderer-independent. The sample applications that come with the SDK show how realtime clouds can be rendered using the generated cloud data.
Here’s their promotional video:
[youtube=http://www.youtube.com/watch?v=C9CfhyajVjY]
What’s amazing to me is the almost ridiculously low price tag. They only charge a hundred bucks for something that must have taken them at least a couple of months to develop and optimize. There’s no way they can make a profit at this price while providing good support. My advice to this company: raise your price to at least a thousands dollars for the SDK, so you can afford to support your clients when they need help. But first, send me a copy so I can confirm it works as expected, and so we can integrate cool skies in our Feeling Engine.
[digg=http://digg.com/programming/Make_Your_Own_Nice_Weather]
Subscribe to RSS feed!


