Images de synthèse
Pourquoi faire ?
Applications ludiques
Reproduire le réel
Reproduire le réel
Simuler des phénomènes
[Merillou et al., 2010]
Rendu artistique
[Bousseau et al.,2006]
Visualiser l'invisible
Données scientifiques
Visualiser l'invisible
Données scientifiques
Domaine relativement récent
- Moteur économique puissant
- Jeux vidéos
- Films
- Visites virtuelles
- Pages Web
- Réalitée augmentée
- Secteur "jeune"
- Evolution materielle trés rapide
- Images de synthèses omniprésentes aujourd'hui
- Mobile Gaming : challenge actuel des constructeurs
Evolution du graphisme dans les Jeux Vidéos
Pong (1972) - 2(1?) D
Evolution du graphisme dans les Jeux Vidéos
Mario (1985) - 2D
Evolution du graphisme dans les Jeux Vidéos
Doom (1993) - 2D et quelques
Evolution du graphisme dans les Jeux Vidéos
Quake (1996) - 3D
Evolution du graphisme dans les Jeux Vidéos
Far Cry (2004) - 3D
Evolution du graphisme dans les Jeux Vidéos
Aujourd'hui
Dans ce cours
Ce qu'on ne verra pas
Comment dessiner/modeler/assembler des images
L'utilisation d'outils de modélisation 3D (3DSMax, Maya, Zbrush...)
Nous découvrirons
Image de synthèse, en quoi ça consiste?
- Image : Grille de Pixels (picture elements)
- Un pixel = Un triplet RGB
- Comment la remplir ?
Image de synthèse, en quoi ça consiste?
- Que fait le dessinateur ?
- Que fait la caméra / appareil photo ?
- Capture/reproduit la résultante d'un phénomène physique existant
Physique du transport de lumière
- Placer un utilisateur (camera) dans un environnement virtuel
- Reproduire/Simuler un phénomène physique
- Remplir la grille de pixels ⇔ Simuler et évaluer la lumière arrivant jusqu'aux pixels
Modélisons le problème
- La lumièree rebondit sur un objet et arrive jusqu'à la grille de pixel
- Peut on simuler ce transport de lumière simplement ?
- Comment une surface réelle interagit avec la lumière ?
- Comment calculer l'illumination d'une surface ?
- La lumière qui arrive ? la lumière qui repart ?
Modélisons le problème
- Voir ⇔ Recevoir des informations lumineuses
- Peut on simuler ce transport de lumière simplement ?
- Comment une surface réelle interagit avec la lumière ?
- Comment calculer l'illumination d'une surface ?
- La lumière qui arrive ? la lumière qui repart ?
Simplifions, simplifions...
- Négligeons les interactions avec l'air
- Considérons des objets solides
- Voir un objet ⇔ Recevoir des photons ayant été en contact avec l'objet
- Comment calculer la lumière partie de l'objet dans notre direction ?
L'interaction de la lumi?e
- Pour chaque élément de la surface d'un objet visible
- On veut la lumière qui part d'un objet dans notre direction
- En fonction de quoi ?
- De la lumière qui arrive sur l'élément de surface
- Et du matériau de la surface de l'objet
L'interaction de la lumière
- Une fonction BRDF pour un matériau :
- Indique la lumière qui sort en fonction de la lumière qui rentre
L'interaction de la lumière
- Une fonction BRDF pour un matériau :
- Indique la lumière qui sort en fonction de la lumière qui rentre
- La lumière provient de l'ensemble de l'environnement
La lumière interagit avec l'environnement et rebondit plusieurs fois
Les rebonds, importants ?
Les rebonds, importants ?
Les rebonds, importants ?
Les rebonds, importants ?
Les rebonds, importants ?
Les rebonds, importants ?
Processus itératif
Approximer/Simuler l'équation
- Différentes méthodes de simulation
- Différentes budgets (temps, puissance de calcul...)
- Différentes objectifs (temps réel, film, visualisation, mobile )
Synthèse offline
- Production précalculée (Films...)
- Effets lumineux complexes
- Pas d'interactions
- Plusieurs heures de calcul
- Fermes de calcul
Synthèse temps réel
- Rapidité: plus de 30 fps
- On ne peux pas tout calculer ⇒ Simplifier, approximer, précacluler
Synthèse temps réel
Précalculer la lumière
Synthèse temps réel
Précalculer la lumière
Synthèse temps réel
Trucages et astuces visuelles
Synthèse temps réel
Trucages et astuces visuelles
Synthèse temps réel
Plausibilité > Exactitude (souvent)
Principe et objectifs
Ce qu'on veut obtenir
- Une ou plusieurs images 2D
- D'une résolution arbitraire
- Un pixel ⇔ Un triplet $RGB$
Remplir une grille 2D de pixel : Le Frame Buffer