Fabrice NEYRET - ARTIS team, LJK, at INRIA-Montbonnot |
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.
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.
Maths, algorithmic, data structures
of basic physical simulation
C/C++, OpenGL.
Base culture in physics (fluids, atmosphere...) would be a plus.
Base in GPU programming (ex: GLSL, CUDA) could be a plus for visualization and follows-up.
cf links along the text.