From Wakapon
Jump to: navigation, search
Line 59: Line 59:
 
These are the big guys (and my favorite [[File:s13.gif]] !
 
These are the big guys (and my favorite [[File:s13.gif]] !
  
I remember being baffled by the foundation paper [http://www.naturewizard.com/papers/clouds%20-%20p379-nishita.pdf "Display of Clouds Taking into Account Multiple Anisotropic Scattering and Sky"] by Nishita et al. in 1996, where these guys managed to render impressively realistic clouds using particles, the clouds were modeled through a cellular automaton. This paper served as a base for [http://www.markmark.net/clouds/ Mark Harris] and his well known clouds.
+
I remember being baffled by the foundation paper [http://nis-lab.is.s.u-tokyo.ac.jp/~nis/cdrom/sig00_cloud.pdf "A Simple, Efficient Method for Realistic Animation of Clouds"] by Dobashi et al. in 2000, where these guys managed to render impressively realistic clouds using particles while the clouds were modeled using a cellular automaton. This paper served as a base for [http://www.markmark.net/clouds/ Mark Harris] and his well known clouds.
 +
 
 +
[[Image:MarkHarris.png|400px|thumb|center]]
 +
 
 +
This team of Japanese, when it comes to imitating reality, are really excellent ! They are also responsible for the foundation paper [http://nis-lab.is.s.u-tokyo.ac.jp/~nis/cdrom/skymul.pdf "Display Method of the Sky Color Taking into Account Multiple Scattering"] about the sky model later implemented in real time by Sean O'Neil
 +
 
  
[[Image:MarkHarris.png|400px]]
 
  
 
= Lighting =
 
= Lighting =

Revision as of 13:49, 30 March 2011

This page is about the complex task of rendering clouds in real-time.

I have loved and studied clouds for a pretty long time now. I was taking pictures of sunsets from my bedroom's window when I was 15, I'm now 35 and nothing has changed : I'm still amazed by the variety and colors and shapes that cloud bring to an otherwise "sad" blue sky.

Cumulo-Nimbus

My favorites are storm clouds : the humongous cumulo-nimbus.

When it comes to rendering, you have 2 difficulties to overcome : lighting and shape. Both are difficult and very important.

Cloud Types

You may underestimate the importance of the shape of a cloud, especially because they look random so you might think a random shape is okay. But then you are plain wrong, because clouds are all but random.

Shape

If you watch a time-lapse video of a cloud, you can see how clouds move, how they are created and destroyed. One main observation to make is that accelerated clouds motion make them look like regular smoke. This is an important fractal pattern : clouds are like smoke, but bigger. And as they are orders of magnitude larger, the time scale is orders of magnitude smaller. It will take several minutes for the huge mass of a cloud to accomplish the same motion as smoke. A bit like the time for humans seems like slow motion as compared to insects.

You can see in the example video above how the cloud is "pulsed" from hot air pockets below. You can also see how there are "sources" and "sinks" that make the cloud appear and disappear.

All these obey the complex laws of thermodynamics : hot humid air rises up and evaporates while cold air falls down and liquefies, all these occurring at precise temperature and pressure, depending on the altitude.

Clouds are composed mainly of water in all its states : vapor, liquid (i.e. small droplets) and solid (i.e. snow and ice crystals). Clouds also need "nuclei" particles to form, like dust or aerosol molecules : despite large humidity quantities in the air, if there is no nuclei (i.e. the air is too clean), there won't be any cloud.

Various cloud types and their respective altitudes

Every Altitude its Cloud

Most of the clouds are very compact and fit in a "tiny" altitude range, although the storm cumulo-nimbi clouds span the entire range of altitudes, some of them going up to 15 kilometers (!!).

The scales in these clouds vary dramatically. Thin clouds are easily traversed by light while thick clouds are mostly reflective. Light scattering in clouds is really important because of the scales browsed by clouds : a photon doesn't go in a straight line for a long time when pacing through the many hundreds of meters inside a cloud.

Several ways for modeling clouds

Please, read the excellent Ken Perlin's presentation so you get familiar with the different Perlin noises.

Some are great for introducing regular randomness (plain noise), some others are good for clouds (sum 1/f(noise)) while even others are good for terrain modeling (sum 1/f(|noise|)) and are given funny names like "ridged multi fractal" or "fractal brownian motion".

Once you have your basic noise function, it's all a matter of intelligently combining several noises at several amplitudes and frequencies.


Alto/Cirro cumulus & stratus

These are thin vaporous high-altitude clouds. They are the easiest and most commonly simulated clouds as they are very thin and can be easily mapped to a plane, as shown on the image below.

For alto/cirro cumulus forms, there is a clear distinct "cauliflower" pattern that Perlin noise can easily achieve using the Turbulence pattern, as shown below :

Perlin noise : Turbulence variation.

For a great introduction to the complex light scattering within clouds, and the rendering of thin cloud slabs, I invite you to read the (quite technical) paper "Real-time realistic illumination and shading of stratiform clouds" by Bouthors et al.

You're okay sticking to a 2D cloud plane (even faking thickness through parallax mapping), you can even simulate up to the already thick stratocumulus until you need to display distinct clumps, holes or fly through the clouds. From this point on, you need to really render 3D clouds.


Nimbostratus, Cumulus & Cumulo-nimbus

These are the big guys (and my favorite S13.gif !

I remember being baffled by the foundation paper "A Simple, Efficient Method for Realistic Animation of Clouds" by Dobashi et al. in 2000, where these guys managed to render impressively realistic clouds using particles while the clouds were modeled using a cellular automaton. This paper served as a base for Mark Harris and his well known clouds.

MarkHarris.png

This team of Japanese, when it comes to imitating reality, are really excellent ! They are also responsible for the foundation paper "Display Method of the Sky Color Taking into Account Multiple Scattering" about the sky model later implemented in real time by Sean O'Neil


Lighting