Try   HackMD

ISIM: Rendu photorealiste 2

La Radiosite

On essaye d'estimer la "radiosite" de chaque element de la scene, c'est a dire la quantite d'energie de chaque element emet

  • B_i$ la radiosite de la surface
    i
  • Ei
    la quantite de lumiere emise par la surface
    i
  • Pi
    la fraction de lumiere incidente qui est reflechie par la surface
    i
  • Fij
    la fraction de lumiere quittant la surface
    i
    et atteignant la surface
    j

Bi=Ei+Pii(FijBj)

Calcul des

Fij par hemi-cubes
Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

On projet un triangle, la partie bleue est la projection de ce triangle.

Cela nous donne le niveau d'energie recue par "petits carres".

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Ne permet pas directement de calculer une vue de la scene mais simplement l'illumination globale

  • Avantages:
    • Prend mieux en compte les sources secondaires
    • Calculee une fois pour toutes
  • Inconvenients
    • Tient compte de la diffusion
    • Assez lourd
    • Obligation d'avoir un maillage (il faut discretiser les surfaces)
    • Objets transparents ?

Photon map

  • Pre-calcul de l'illumination de la scene
  • Lancement des rayons lumineux depuis les sources et calcul des accumulations des photons
  • Avantages:
    • Permet de modeliser plus proprement les sources secondaires, les ombres portees () et surtout les objets transparents (caustiques)
      • Faire des ombres correctes sous les objets transparents
  • Inconvenients
    • Calculs
    • Complexite
    • Penible a coder

Resultats: video manquante :(

Ameliorations:

  • Projection Maps
  • Visual importance map (3-pass Technique)
  • Shadow photons

Path Tracing/Bidirectional Path Tracing

  • Modelisation des proprietes de reflexion des surfaces: (Bidirectional reflectance distribution function BRDF) (idem pour la transmission)
    • Si on a une surface et qu'on lance un laser, qu'elle est l'energie ressortante en fonction de l'angle d'incidence?
  • Solution pour resoudre l'illumination

BRDF: Biderectional reflectance distribution function (Reflectivite bidirectionnelle)

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Conservative:

fr(x,θ,θo)Linput(x,θi)|θi.Nx|δw01
Reciprocite de Helmholtz:
fr(x,θi,θo)=fr(x,θo1,θi1)

  • Mesuree
    • Goniophotometer
  • Modele
    • Blinn-Phong
    • Cook-Torrance
    • GGX

Principe du rendu:

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Path Tracing

  • Avantages:
    • Rendu realiste
    • Convient bien aux scenes d'exterieurs
    • Prend bien en compte l'apport des autres objets
    • Rend les caustiques
    • Possibilite de modeliser les effets (profondeur de champ)
  • Inconvenients:
    • len
    • bruite (Il faut bcp d'iterations pour converger)
    • difficile pour scenes avec des petites sources lumineuse (ou sources cachees)

Bidirection Path Tracing

Amelioration du calcul du rendu

  • Lancement des rayons depuis l'observateur et depuis les sources

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Avantages:

  • Facilite la recherche du chemin vers la source lumineuse
  • Permet de modeliser les petites sources lumineuses

PBGI: Point-Based Global Illumination

  • Tres peu enseigne
  • Beaucoup utilise dans l'industrie du cinema
    • Monster Academy: 1er long-metrage en raytracing
    • La-haut: utiliser PBGI
    • SFX de Pirates des Caraibes avec PBGI

Methode pour estimer l'illumination globales

  • Avantages:
    • Rapide
    • Image non bruitee (pas d'artefacts temporel)
  • Inconvenients
    • Pas aussi precis que le raytracing
    • Difficile de gerer les effets miroir

Approximation de la scene par nuage de points

  • Un point - un disque de couleur
  • Calcul de l'illumination direct de la scene

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

  • Approximation de la scene par nuage de points
    • Un point = un disque de couleur
    • Calcul de l'illumination directe de la scene

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Regroupement des points

Calcul de l'illumiantion globale

  • Calcul de la contribution des points sur un disque
    • Pour les points eloignes
      • Utilisation du cluster
    • Pour les points proches
      • Raytracing
    • Pour les autres points
      • Utilisation directe du disque

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Bilan et remarques

Rendus

Rendu simple

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Rendu simple avec anti-aliasing

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Rendu avec la radiosite

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Rendu avec les photons

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Rendu avec la radiosite et les photons

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Rendu avec anti-aliasing

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

Bilan

  • Raytracing
    • Calcul de l'illumination en fonction d'un point de vue
    • Calcul l'illumination approximatif : gère mal les objets transparents, les lumières secondaires, les ombres portées
    • On peut combiner cet algorithme avec des techniques de calcul d'illumination globale pour palier à ces problèmes
  • Radiosity
    • Calcul l'illumination globale
    • Gère que la diffusion mais améliore l'apport des lumières secondaires
  • PhotonMap
    • Calcul l'illumination globale
    • Plus diffcile à mettre en ÷uvre (implémentation, artéfacts)
    • Gère bien les objets transparents (caustiques) et éventuellement les ombres portées et les sources secondaires
  • PathTracing
    • Gère bien les objets transparents, les lumières secondaires, les ombres portées
    • Calcul très long
    • Risque d'apparition de bruit
  • PBGI

Remarques sur l'implementation

  • Doit être bien réfléchie
  • Parallélisation possible
  • Utilisation du GPU possible

Modelisation

Pour chaque "forme" il faut être capable de:

  • calculer la normale en chaque point
  • calculer l'intersection avec une droite,
  • éventuellement calculer les coordonnées de la texture

Calcul des intersections : dans le repère monde ou le repère
objet ?

Pour aller plus loin

  • Textures
  • Autres effets (Brouillard, Bleu atmosphérique, )
  • génération d'anaglyphes (cyan et rouge (espacement
    130f
    ))

Post scriptum

Raycasting

Principe: On ne lance que les rayons depuis l'observateur et on ne calcul
pas les rebonds

(Raytracing est une extension du raycasting ?)

Wolfstein:

  • On lance des rayons dans le plan!

La longueur du rayon permet de conclure sur la hauteur du mur

  • 1 rayon donne 1 colonne de l'image + gestion des objets

Avanatages:

  • Algorithme rapide

On est loin du rendu photoréaliste