Thématiques
(Polytechnique): Algorithmique,
Traitement d'Image, Divers
Réelles: Synthèse
d'images, Simulation
FabriceNEYRET (Fabrice.Neyret@imag.fr) - équipe ARTIS, lab LJK, à l'INRIA-Montbonnot, Grenoble, FRANCE |
Les effets spéciaux du cinéma et des jeux vidéos font de plus en plus appel aux fluides (eau, lave, fumée...). Cependant, leur simulation à haute résolution est extrêmement coûteuse (surtout en 3D), et laisse peu de moyens de contrôle à l'artiste. Réciproquement, pour l'habillage détaillé des surfaces les artistes recourent fréquemment aux textures, et notamment aux textures procédurales comme les bruits de Perlin (fonction pseudo-aléatoire fractale continues à spectre contrôlé).
Nous avons développé deux modèles préliminaires permettant de définir des textures procédurales animées (cf biblio ci-dessous): Les *flownoises*, qui s'appuient sur des fonctions de bases rotatives, et les *textures advectées*, qui amplifient une simulation de fluides en ajoutant à petite échelle des flownoises dont le spectre de rotation est contrôlé (dans l'esprit de la cascade de Kolmogorov).
"Flow Noise". K. Perlin, F. Neyret. Siggraph'01
Technical Sketches and Applications. Los Angeles, août
2001.
http://mrl.nyu.edu/~perlin/flownoise-talk/
http://www-evasion.imag.fr/Publications/2001/PN01/?lg=fr
http://www-evasion.imag.fr/Membres/Fabrice.Neyret/flownoise/index.fr.html
"Advected Textures". F. Neyret. Symposium on
Computer Animation'03. San Diego, juillet 2003.
http://www-evasion.imag.fr/Publications/2003/Ney03/?lg=fr
Comme le montrent ces images, le concept est prometteur. Cependant ces modèles préliminaires soulèvent des problématiques mathématiques qu'il convient de modéliser plus proprement pour fonctionner pleinement dans le cas général. Notamment:
Selon l'avancée des travaux, on pourra éventuellement s'intéresser à l'implémentation de ce type de modèle sur GPU (calcul en chaque pixel sur la carte graphique, permettant ainsi le temps réel). D'autre part, l'utilisation de textures tridimensionnelles (champs de densités) permet de simuler des nuages ultra-détaillés (difficilement accessible avec d'autres méthodes), objectif également important pour nous. L'intérêt de combiner 3D et temps-réel va sans dire...
Théorique:
- spécification d'un nouveau modèle robuste et général de
flownoise, en 2D et 3D.
- spécification d'un champs procédural
de rotations amplifiant un champs de vitesses, en 2D et 3D.
Pratique:
- Implémentation d'une maquette logicielle en C ou C++
- Selon
le temps et les affinités, implémentation sur GPU sous OpenGL et
CG, sur cartes graphiques type GeforceFX ou Radeon.
Indispensables:
- maths: interpolation, dont rotations; Fourier
- programmation
en C/C++
Utiles:
- Notions sur les fluides et la turbulence
- Notions d'OpenGL,
et de shaders programmables