Introduction

Guillaume Gilet

Images de synthèse

Pourquoi faire ?

Applications ludiques

Applications Ludiques

Reproduire le réel

Reproduire le r?l

Reproduire le réel

Simuler

Simuler des phénomènes

Simuler

[Merillou et al., 2010]

Rendu artistique

Rendu Artistique

[Bousseau et al.,2006]

Visualiser l'invisible

Données scientifiques

Visualisation

Visualiser l'invisible

Données scientifiques

Visualisation

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

Pong

Evolution du graphisme dans les Jeux Vidéos

Mario (1985) - 2D

Super Mario Bros

Evolution du graphisme dans les Jeux Vidéos

Doom (1993) - 2D et quelques

Doom

Evolution du graphisme dans les Jeux Vidéos

Quake (1996) - 3D

Quake

Evolution du graphisme dans les Jeux Vidéos

Far Cry (2004) - 3D

Far Cry

Evolution du graphisme dans les Jeux Vidéos

Aujourd'hui

Jeux Videos

Vers le mobile ?

ShaderToy

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

    Principe et fonctionnement des moteurs 3D
    Programmation de shaders

Image de synthèse, en quoi ça consiste?

Frame buffer

  • Image : Grille de Pixels (picture elements)
  • Un pixel = Un triplet RGB
  • Comment la remplir ?

Image de synthèse, en quoi ça consiste?

Frame buffer
  • 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 ?

Rebonds secondaires

Les rebonds, importants ?

Rebonds secondaires

Les rebonds, importants ?

Rebonds secondaires

Les rebonds, importants ?

Rebonds secondaires

Les rebonds, importants ?

Rebonds secondaires

Les rebonds, importants ?

Rebonds secondaires

Processus itératif

Equation du rendu

Equation du rendu

Problème de complexité

Et encore, il manque des phénomènes...

Equation du rendu

Et encore, il manque des phénomènes...

Equation du rendu

Et encore, il manque des phénomènes...

Equation du rendu

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

Offline
  • Production précalculée (Films...)
  • Effets lumineux complexes
  • Pas d'interactions
  • Plusieurs heures de calcul
  • Fermes de calcul

Synthèse temps réel

RealTime
  • 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
RealTime

Synthèse temps réel

Précalculer la lumière
RealTime

Synthèse temps réel

Trucages et astuces visuelles
RealTime

Synthèse temps réel

Trucages et astuces visuelles
RealTime

Synthèse temps réel

Plausibilité > Exactitude (souvent)
RealTime

Principe et objectifs

Ce qu'on veut obtenir
RealTime
  • Une ou plusieurs images 2D
  • D'une résolution arbitraire
  • Un pixel ⇔ Un triplet $RGB$

Remplir une grille 2D de pixel : Le Frame Buffer