Flow-noise en temps rel Aymeric Augustin Soutenance de stage - - PowerPoint PPT Presentation

flow noise en temps r el
SMART_READER_LITE
LIVE PREVIEW

Flow-noise en temps rel Aymeric Augustin Soutenance de stage - - PowerPoint PPT Presentation

Flow-noise en temps rel Aymeric Augustin Soutenance de stage doption scientifique Ecole polytechnique - lundi 3 juillet 2006 1 Flow-noise en temps rel Motivation : amplifier le mouvement dun fluide simul basse rsolution


slide-1
SLIDE 1

Flow-noise en temps réel

Aymeric Augustin

Soutenance de stage d’option scientifique Ecole polytechnique - lundi 3 juillet 2006

1

slide-2
SLIDE 2

Texte

Flow-noise en temps réel

  • Motivation : amplifier le mouvement

d’un fluide simulé à basse résolution

  • Méthode : ajouter une texture

2

slide-3
SLIDE 3

Texte

Flow-noise en temps réel

  • Etat de l’art
  • Animation améliorée du bruit de Perlin
  • Implémentation sur carte graphique

3

slide-4
SLIDE 4

Texte

Flow-noise en temps réel

  • Etat de l’art
  • Animation améliorée du bruit de Perlin
  • Implémentation sur carte graphique

4

slide-5
SLIDE 5

Texte

Etat de l’art

  • Textures procédurales
  • définition
  • exemples

5

slide-6
SLIDE 6

Texte

Etat de l’art

  • Problématiques d’animation
  • stochastique temporelle
  • déformation continue
  • en temps : “popping”
  • en espace : “cracking”

6

slide-7
SLIDE 7

Texte

  • Exemple : le bruit de Perlin (

1 D)

  • interpolation de gradients
  • construction par générateurs

Etat de l’art

  • 1
  • 0,75
  • 0,5
  • 0,25
0,25 0,5 0,75 1
  • 0,5
  • 0,25
0,25 0,5

7

slide-8
SLIDE 8

Texte

  • Exemple : le bruit de Perlin (2D)
  • transformation : somme fractale

Etat de l’art

8

slide-9
SLIDE 9

Texte

Etat de l’art

  • Textures pour les fluides
  • écoulement, tourbillons : turbulence
  • Flow-noise (Perlin, Neyret, 2001

)

  • gradients rotatifs
  • pseudo-advection

9

slide-10
SLIDE 10

Texte

Etat de l’art

  • Textures advectées (Neyret, 2003)
  • lier les coordonnées texture au fluide
  • déformation
  • régénération

et latence

  • trois couches de

textures

10

slide-11
SLIDE 11

Texte

Etat de l’art

  • Textures advectées (Neyret, 2003)
  • latence adaptative
  • mélange procédural des couches
  • flow-noise

Blending 1 Blending 2 Blending 3 Blending 4 Shader Shader Shader Noise 1 Noise 2 Noise 3 Blending Shader Noise 1 Noise 2 Noise 3

11

slide-12
SLIDE 12

Texte

Flow-noise en temps réel

  • Etat de l’art
  • Animation améliorée du bruit de Perlin
  • Implémentation sur carte graphique

12

slide-13
SLIDE 13

Texte

Animation améliorée du bruit de Perlin

  • Toute déformation continue

respectant un champ de rotations crée des enroulements

13

slide-14
SLIDE 14

Texte

Animation améliorée du bruit de Perlin

  • Notre déformation non continue ne

crée pas de discontinuité spatiale grâce aux propriétés du bruit

14

slide-15
SLIDE 15

Texte

  • Animation des gradients : prendre la

valeur de rotation au bon point !

Animation améliorée du bruit de Perlin

Correct Incorrect

15

slide-16
SLIDE 16

Texte

  • Contrôle du spectre de rotation
  • cascade d’énergie de Kolmogorov :

E(k) = CK e-

2/3 k4/3 (k =2π/l)

Animation améliorée du bruit de Perlin

injection de l'énergie dissipation de l'énergie ki kd flux d'énergie k E(k) domaine inertiel

16

slide-17
SLIDE 17

Texte

Animation améliorée du bruit de Perlin

  • Contrôle du spectre de rotation
  • version discrète : Wj Ωj

2 ~ kj 4/3

  • proportionnalité entre le poids

(contraste), la vitesse de rotation et l’échelle

  • restent des degrés de liberté :
  • liberté pour l’artiste
  • indication de la “réalité”

17

slide-18
SLIDE 18

Texte

Flow-noise en temps réel

  • Etat de l’art
  • Animation améliorée du bruit de Perlin
  • Implémentation sur carte graphique

18

slide-19
SLIDE 19

Texte

Implémentation sur carte graphique

  • Interface

19

slide-20
SLIDE 20

Texte

Implémentation sur carte graphique

  • Schéma du “pixel shader”

fp_flownoise Perlin noise Perlin noise Perlin noise

texCoords1 texCoords2

texCoords3

POSITION density combine NOISE

20

slide-21
SLIDE 21

Texte

  • Artefacts liés à la structure du bruit

Implémentation sur carte graphique

21

slide-22
SLIDE 22

Texte

Implémentation sur carte graphique

  • Problèmes de précision des coordonnées

texture : flottants 16 bits vs. 32 bits

22

slide-23
SLIDE 23

Texte

Implémentation sur carte graphique

  • Statistiques sur le “pixel shader” :
  • 20 R-regs, 14 H-regs
  • 771 instructions
  • 48 COSH, 48 SINH, 74 TEX
  • Résultats
  • >25Hz, 400x400 (QuadroFX 1400)

23

slide-24
SLIDE 24

Texte

Implémentation sur carte graphique

  • Video

24

slide-25
SLIDE 25

Texte

Flow-noise en temps réel

  • Conclusion
  • algorithme amélioré
  • complexité acceptable
  • très peu d’artefacts
  • temps réel sur processeur graphique
  • utilisable dans un jeu vidéo

25

slide-26
SLIDE 26

Texte

Flow-noise en temps réel

  • Perspectives
  • coordonnées texture et valeurs de

rotation procédurales

  • création de “heightfields” pour les

nuages, avec niveaux de détail

  • calcul progressif de texture pour les

mouvements lents

26

slide-27
SLIDE 27

Texte

Flow-noise en temps réel

  • Questions ?

27