Master 2009-2010 project:

Simulating an evolving cloud sky
for real-time simulators and games

Polytechnics fields: Algorithmic, Image Processing, Miscelleaneous
Real fields: Computer Graphics, Simulation


Fabrice NEYRET   ( -   ARTIS team, LJK lab, at INRIA-Montbonnot, Grenoble, FRANCE


Natural scenes are an important element in a number of Computer Graphics applications. Clouds are a key component of them. Besides, a number of nowadays applications allow for the interactive exploration of wide landscapes, at any altitude: video games, flight simulators, geographic visualization like GoogleEarth...
Simulating clouds in this context may seem impossible: how simulating in real-time at large scale and high resolution what requires hours of computation in fluid mechanics and meteo ? But in image synthesis, we mainly aim at what is visible (in the observer field of view, with his perceptive criteria). Our simulations must be plausible rather than exact. So, we can easily use adaptive or multiscale view-dependent approaches, or even simulating nothing outside the field of view as long as we can kickly rebuilt a plausible state when the camera turns or get closer. In particular, we can separate the « meteo » stage (low-res circulation of large air masses), supposedly known, and the « aerological » stage (local motion of thermals and clouds puff relatively to a stationary local environment), which is our focus of interest here.
On the other side, image synthesis also brings constraints: beside high resolution, real-time and continuity (no « popping »), our simulations are often targeted for a scenario or an ambiance tuned by a graphist. Thus, it is interesting to find parameterizations more « intuitive » in terms of impact on result (ex: dew point altitude, corresponding to cloud bases, is more intuitive than humidity rate or thermal profile). Fortunately, aerology, a pragmatic physics for plane pilots, offers tools which are both more specific, simple and intuitive than generalist heavy fluid mechanics methods.
Our teams work (among other) on real-time exploration of large landscapes, on real-time rendering of clouds, and more generally of large detailed volumes. The purpose it to bring to them – in the same spirit – tools able to represent distribution, shape and evolution of clouds.

Description of the subject

The goal of this project is to simulate plausibly in real-time the formation of cumulus-like convective clouds, seen from the ground or from far away. We envision a hierarchical «  blobs » based approach - i.e. particles - (for the cloud) on top of a coarse grid (for close environment) plus an analytic function (for static general environment, giving variations with altitude). « Blobs » correspond to « thermals » emitted at ground level, particles that roughly obey point mechanics, get Archimedes' force when they are lighter than environment, and thermodynamics transformations linked to humidity (condensation which makes the cloud visible, but which also heat the air, etc).
The purpose is to elaborate such a mix multiscale model, and to develop an algorithm able, first, to change the resolution during simulation (when observer get closer to the cloud), and second, to recover quickly a low-res simulation (when the observer turns his head to areas not yet simulated). These two key properties are the « secret » of applications permitting interactive exploration of large areas, which always shows us high resolution... only in the front stage in the field of view. About the model, an issue concerns the role of grid vs particles: it is better to restrict the grid to motionless data (environment progressively altered in humidity and temperature by the bubbles). However, grids can also be used as « cache » to ease the treatment of bubble-bubble interaction, so as to restrain dynamics to the one of isolated bubble in environment. Another issue is to choose the hierarchical organization of particles and grids. E.g., a « wavelet like » way consisting in storing local variations relative to the coarser level (instead of whole data at increased resolution) would ease changes of scale.

This project is mainly interested in clouds as sum of « blobs ». If remaining time is available to look at their detailled shape and rendering, we might couple the « simulator » obtained to our real-time volume rendering engine, by associating a procedural hypertexture to each blob. Beyond this Master practice project, we would be interesting to model also large scale meteo motions and patterns, in the same spirit: the long-term goal is real-time Virtual Earth at all scales.