Fabrice NEYRET - Maverick team, LJK, at INRIA-Montbonnot
The field of Computer Graphics has some Graals such as
photorealism with complex light effects and materials, construction
and rendering of very detailed scenes, real-time exploration of very
large scenes, amplification (beautification) of coarse fluid or light
simulations, seamless merging of controlled and automatic data, etc.
The realistic realtime walk-trough detailed galaxies somehow gathers
all of these. Galaxies inter-twin a « fluid »
of heterogeneous stars and fractal opaque filaments of dust clouds
which hide, semi-hide or are illuminated by star clusters or singular
stars (cf images above).
A key strategy to tackle such mass-based data while preserving real-time and realism is the design of scalable lazy (i.e. minimal) representations and algorithms, able to encode directly the visual phenomenas emerging from the sub-pixel scale. An other one is to generate details on the fly from coarse data and statistical informations.
Our GigaVoxels plateform offers a convenient framework for such scalable real-time exploration.
This subject addresses the first strategy mentioned above, and
aims at modeling a
shader and its parameters able to represent correctly the
macroscopic color and transparency of a volume containing a mix of
stars and dust cloud.
The issue is non-homogeneity and correlation in the data : Volumes of uniformly distributed independent micro-objects are well represented by a continuous density. But galactic dust clouds are fractal, thus not uniforms, so the real opacity of such a volume differs from the one obtained through density model. Moreover, stars illuminates locally the dust clouds and can be faded or occulted by dust. This easily integrates analytically in the uniform case (cf refs) but non-homogeneity of gas impacts the visual effect. This is also complicated by the fact that stars location is highly correlated with dust location otherwise... there would'nt be nebulae in the sky and illuminated gas in distant galaxies !
Math : skills on analytical integration & approximations
Notions of parallelism (multi-threading) or GPU programming (GLSL, CUDA, etc) would be a plus, but these can be learn easily during the practice.
Beer-Lambert law (absorption of light in matter) and related (cross-section).