Flow-noise en temps réel - INRIA - Institut National de Recherche en Informatique et en Automatique Accéder directement au contenu
Mémoire D'étudiant Année : 2006

Flow-noise en temps réel

Résumé

Procedural textures, such as Perlin noise, enable us to achieve high quality, resolution independant static effects. Our research aims at providing real-time animation for such noise. Thus, we can enhance the apperance of fluids -- especially geophysical fluids such as clouds, fire, water, lava, mud, etc. -- by adding animated noise at small scales. To achieve a realistic appearance, we must give the feeling of the flowing and swirling that are caracteristic of real flows. Flowing is obtained with advected textures, linked to a fluid solver. The main part of our work is simulating the swirling of the flow. We use flow-noise to add rotation to Perlin noise. Using a local measure of vorticity and Kolmogorov theory, we determine the amount of animation in the fluid at different scales. This ensures that our flow-noise has a physically correct spectrum. Computing flow-noise is quite intensive ; however, we show how real-time framerates can be achieved with current GPUs. We highlight a number of GPU-specific issues and optimisations for our algorithm, and we include complete source code and documentation for our pixel shader.
Les textures procédurales, comme le bruit de Perlin, fournissent des images statiques de très grande qualité, indépendamment de la résolution. Nous cherchons à animer de telles textures en temps réel. Ainsi, nous pourrons améliorer l'apparence de fluides -- en particulier les fluides naturels commes les nuages, le feu, l'eau, la lave, la boue, etc. -- en ajoutant du bruit animé aux petites échelles. Pour obtenir un résultat réaliste, nous devons donner l'impression d'écoulement et de tourbillonnement qui caractérise les fluides réels. L'écoulement est obtenu avec des textures advectées, liées à un simulateur de fluides. Le coeur de notre travail est la simulation des tourbillons dans le flux. Nous utilisons le flow-noise pour ajouter de la rotation à un bruit de Perlin. Nous mesurons localement la vorticité et exploitons la théorie de Kolmogorov pour déterminer la quantité d'animation dans le fluide à différentes échelles. Ceci garantit que le spectre de notre flow-noise est physiquement correct. Le calcul du flow-noise est coûteux ; cependant, nous montrons comment on peut l'effectuer en temps réel avec les cartes graphiques actuelles. Nous soulignons quelques problèmes et quelques optimisations de notre algorithme spécifiques à la programmation sur carte graphique ; nous fournissons le code source complet et documenté de notre pixel shader.
Fichier principal
Vignette du fichier
Flow-noise_temps_reel.pdf (1.28 Mo) Télécharger le fichier
Vignette du fichier
cloud.png (469.96 Ko) Télécharger le fichier
Vignette du fichier
density_advection.png (469.96 Ko) Télécharger le fichier
Vignette du fichier
density_flownoise.png (469.96 Ko) Télécharger le fichier
real-time_flow-noise.xvid.avi (17.79 Mo) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Format : Figure, Image
Format : Figure, Image
Format : Figure, Image
Format : Autre
Loading...

Dates et versions

inria-00598384 , version 1 (06-06-2011)

Identifiants

  • HAL Id : inria-00598384 , version 1

Citer

Aymeric Augustin. Flow-noise en temps réel. Synthèse d'image et réalité virtuelle [cs.GR]. 2006. ⟨inria-00598384⟩
158 Consultations
266 Téléchargements

Partager

Gmail Facebook X LinkedIn More