IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730:...

53
IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahrai Hiver 2013 DIRO, Université de Montréal

Transcript of IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730:...

Page 1: IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahra i Hiver 2013 DIRO,

IFT3730: Infographie 3D

Illumination locale

Pierre Poulin, Derek Nowrouzezahrai Hiver 2013

DIRO, Université de Montréal

Page 2: IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahra i Hiver 2013 DIRO,

Illumination (1) •  Jusqu’à présent, nous nous sommes

principalement intéressés aux aspects « géométriques » de la formation d’images

•  Mais une fois que les points 3D visibles sont connus, on doit répondre à la question suivante: « De quelle couleur doit-on afficher ces points si la scène contient des sources de lumière? »

Page 3: IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahra i Hiver 2013 DIRO,

Illumination (2) •  Cette couleur est le résultat de l’interaction de

la lumière avec la scène •  Pour un point 3D donné, cette couleur

dépend de plusieurs facteurs : – position du point dans l’espace – orientation du point (élément de surface) – caractéristiques de réflexion et réfraction

de la surface – configuration des sources de lumière

Page 4: IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahra i Hiver 2013 DIRO,

Définitions •  Illumination

– définit le transport de la lumière dans la scène. C’est l’illumination qui détermine la quantité d’énergie lumineuse en un point donné ainsi que sa provenance

•  Shading – spécifie comment l’illumination est calculée

sur un polygon (e.g. à chaque point, à chaque sommet, à un seul point)

Page 5: IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahra i Hiver 2013 DIRO,

Définitions •  Illumination locale

– ne considère que la contribution directe des sources de lumière

•  Illumination globale – considère la contribution directe des

sources de lumière et –  la lumière interréfléchie entre les surfaces

de la scène (sources de lumière secondaires)

Page 6: IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahra i Hiver 2013 DIRO,

Exemple Illumination

Illumination locale

Illumination globale

Page 7: IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahra i Hiver 2013 DIRO,

Lumière •  La lumière est émise par les sources de

lumière et interagit avec les objets de la scène

•  Nature duale : – ondulatoire – particulaire

Page 8: IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahra i Hiver 2013 DIRO,

Photon (1) •  Un photon transporte une certaine énergie à

une longueur d’onde donnée (couleur) •  A chaque interaction (réflexion, réfraction,

absorption), un photon peut changer sa direction et/ou sa couleur (changements spatial et spectral)

Page 9: IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahra i Hiver 2013 DIRO,

Photon (2) •  Si la longueur d’onde entre d’un photon est

entre , il est alors visible par l’oeil humain

•  Si un photon passe par la position de l’oeil tout en traversant la fenêtre graphique, sa couleur contribue au pixel qu’il traverse

Page 10: IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahra i Hiver 2013 DIRO,

Simuler l’illumination

•  Simuler le réel demanderait de générer une "infinité" de photons. Le problème doit donc être simplifié.

Grille image

Observateur (caméra)

Page 11: IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahra i Hiver 2013 DIRO,

Modèles de réflexion locale

Page 12: IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahra i Hiver 2013 DIRO,

Modèles de réflexion locale •  Le modèle de réflexion locale ne traite que de

l’illumination directe –  les ombres sont traitées séparément (sauf ray tracing)

– aucune interréflexion •  Les trois types de réflexion les plus communes sont

– Diffuse – Spéculaire – Ambiante

Page 13: IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahra i Hiver 2013 DIRO,

•  On combine ces trois types pour obtenir un modèle de réflexion plus complet

Modèle de réflexion locale

+ + =

Ambiante Diffuse Spéculaire Combinée

Page 14: IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahra i Hiver 2013 DIRO,

Lumière ambiante (1) •  Sans interréflexion de la lumière, tout ce qui

est dans l’ombre est noir (e.g. lune) •  La contribution de l’interréflexion entre les

surfaces est un phénomène extrêmement complexe

•  On simplifie l’illumination globale en parlant d’une lumière ambiante qui est partout la même, pour n’importe quelle direction

•  Toute surface éclairée seulement par une lumière ambiante a un éclairage uniforme. Cette surface apparaît donc sans profondeur.

Page 15: IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahra i Hiver 2013 DIRO,

Lumière ambiante (2)

Credit: Foley Van Dam

Page 16: IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahra i Hiver 2013 DIRO,

Lumière ambiante (3)

Intensité de la lumière ambiante en un point donné (propriété de scène)

Proportion de la lumière ambiante réfléchie par ce point (propriété de surface)

Page 17: IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahra i Hiver 2013 DIRO,

Réflexion diffuse •  Normalement, l’intensité de chaque point sur

une surface varie en fonction de sa distance et de son orientation relative à la lumière

•  Réflexion diffuse est égale en intensité dans toutes les directions

•  Correspond intuitivement à ce que l’on perçoit comme la forme 3D

•  Ex: peinture matte, papier, bois sablé

Page 18: IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahra i Hiver 2013 DIRO,

Réflexion diffuse •  Deux modèles pour expliquer ce type de

réflexion

ex.: de la craie ex.: du papier

Page 19: IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahra i Hiver 2013 DIRO,

La réflexion diffuse •  La réflexion diffuse ou lambertienne est associée à la

perception de la forme des objets de type mat •  Plus la surface fait face à la lumière, plus elle en

reçoit

θ

Page 20: IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahra i Hiver 2013 DIRO,

La réflexion diffuse •  La réflexion diffuse redistribue les photons

également (en intensité) au-dessus de la surface

Page 21: IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahra i Hiver 2013 DIRO,

où et sont des vecteurs normalisés. On devrait utiliser pour toute orientation de surface « » mais on allège habituellement la formulation avec

Proportion de la lumière diffuse réémise à ce point

Réflexion lambertienne

θ

Surface Intensité de la lumière en un point donné

Page 22: IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahra i Hiver 2013 DIRO,

Réflexion spéculaire •  La réflexion spéculaire apparaît sur des

surfaces brillantes sous la forme d’une région de haute intensité que l’on appelle highlight

•  Pour une surface parfaitement lisse (miroir), la direction de réflexion spéculaire est unique et correspond à

N

L R θ θ Observateur

Page 23: IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahra i Hiver 2013 DIRO,

Réflexion spéculaire : Phong (1) •  Si une surface est un peu rugueuse, un peu de

lumière sera réfléchie spéculairement autour de •  Le modèle spéculaire de Phong fait décroître

l’intensité de cette réflexion selon entre les directions et

•  La réflexion spéculaire dépend de l’orientation

de la surface ainsi que de la position de l’observateur et de la lumière

θ

Surface Observateur

α θ

Page 24: IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahra i Hiver 2013 DIRO,

Réflexion spéculaire : Phong (2) •  n contrôle la rugosité de la surface telle que

pour un miroir et une surface très rugueuse

Page 25: IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahra i Hiver 2013 DIRO,

Phong : rugosité n

n=1 n=2 n=4

n=16

n=8

n=32 n=64 n=128

n=256 n=512 n=1024

Page 26: IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahra i Hiver 2013 DIRO,

Réflexion spéculaire : Blinn •  Le modèle spéculaire de Blinn fait aussi

décroître l’intensité selon Cependant, représente ici l’angle entre les vecteurs et

•  est le vecteur bisecteur entre et

α

θ θ

Page 27: IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahra i Hiver 2013 DIRO,

Réflexion diffuse + spéculaire

Lumière diffuse Lumière spéculaire “Combo”

Page 28: IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahra i Hiver 2013 DIRO,

BRDF (1)

Modèle simple diffus-spéculaire

isotrope

BRDF d’un modèle plus complexe

anisotrope

•  Bidirectional Reflectance Distribution Function

Page 29: IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahra i Hiver 2013 DIRO,

BRDF (2)

shading isotrope

shading anisotrope

Page 30: IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahra i Hiver 2013 DIRO,

BRDF (3) •  Capture de la BRDF d’une surface complexe

anisotrope

Surface anisotrope

Credit: McMillan

Page 31: IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahra i Hiver 2013 DIRO,

BRDF (4)

Page 32: IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahra i Hiver 2013 DIRO,

BRDF (5)

Page 33: IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahra i Hiver 2013 DIRO,

Lumières

Page 34: IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahra i Hiver 2013 DIRO,

Source de lumière •  Directionnelle

– contrôle: direction et intensité –  lumière située à l’infini (direction) –  rayons de lumière sont parallèles entre eux

•  Ponctuelle – contrôle: position et intensité –  rayons sont émis également dans toutes

les directions émanant de ce point –  intensité décroît comme le carré de la

distance

Page 35: IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahra i Hiver 2013 DIRO,

Lumière ponctuelle •  L’intensité varie "physiquement" comme

où r est la distance d’un point à la lumière •  En pratique, ceci décroît souvent trop vite

•  OpenGL permet :

où sont des constantes (Angel, section 6.7)

Page 36: IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahra i Hiver 2013 DIRO,

Autres sources de lumière

•  Spotlights: lumière ponctuelle qui émet dans une direction principale

•  Sources de lumière surfaciques: lumières qui occupent une surface 2D (e.g. lumière encastrée)

•  Sources de lumière étendue: lumière 3D (e.g. tube fluorescent)

Page 37: IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahra i Hiver 2013 DIRO,

Autres sources de lumière

•  Contrairement aux sources de lumière directionnelles et ponctuelles, les sources de lumière surfaciques et étendues génèrent des ombres floues

lumière ponctuelle: ombre nette

lumière sphérique: ombre floue

Page 38: IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahra i Hiver 2013 DIRO,

Sources de lumière multiples •  Chaque lumière contribue à l’intensité finale •  Si la scène possède plusieurs sources de

lumière, il faudra faire la sommation de la contribution de chacune

•  La contribution ambiante n’est considérée qu’une seule fois

•  Le modèle final correspond donc à

Page 39: IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahra i Hiver 2013 DIRO,

Modèle simple de couleur •  Chaque coefficient peut être considéré

comme valide pour une longueur d’onde donnée

Rouge

Vert

Bleu

Page 40: IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahra i Hiver 2013 DIRO,

Shadings

Page 41: IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahra i Hiver 2013 DIRO,

Shadings •  On peut calculer l’illumination en chaque point d’une

scène, mais cette opération peut s’avérer être très coûteuse en temps de calcul

•  Il est possible d’en réduire le coût en approximant l’illumination sur chaque polygone de la scène

•  Ces approximations interpolent l’illumination lors de la projection sur la fenêtre

•  Quelques types de shadings: –  flat –  Gouraud –  Phong

Page 42: IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahra i Hiver 2013 DIRO,

Shading Flat (constant)

•  calcule l’illumination pour un point du polygone (centre ou un sommet)

•  assume que cette illumination est la même sur tout le polygone

•  couleur uniforme mais rapidement calculée •  valide si

–  est constant : lumière directionnelle –  est constant : projection parallèle –  face polygonale

Page 43: IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahra i Hiver 2013 DIRO,

Calcul de normales des polygones

•  Calcul analytique si on connaît la surface que le polygone approxime (ex: sphère)

•  Moyenne des normales des polygones dont le sommet fait partie (ou moyenne pondérée par l’angle formé par ce polygone au sommet)

•  Si une arête existe vraiment, un sommet a i normales dont une seule est choisie dépendant du polygone à rendre

Page 44: IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahra i Hiver 2013 DIRO,

Shading de Gouraud •  calcule l’illumination à chaque sommet du

polygone (normale + illumination = couleur) •  interpolation bilinéaire des couleurs (tout

comme on le faisait pour la profondeur) •  rapide mais peut rater des highlights, il faut

alors un maillage plus fin de polygones •  élimine les discontinuités d’intensité, mais pas

celles de pente d’intensité

Crédit : E.Angel

Page 45: IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahra i Hiver 2013 DIRO,

Obtenir la couleur à partir de , et

Interpolation bilinéaire

X

Y

Interpole aussi: profondeur, texture, normale, etc.

Page 46: IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahra i Hiver 2013 DIRO,

Shading de Phong

•  interpolation bilinéaire des normales pour tout point dans le polygone

•  calcule l’illumination pour chaque normale interpolée

•  Plus coûteux à calculer mais approxime beaucoup mieux les highlights

Page 47: IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahra i Hiver 2013 DIRO,

Flat vs. Gouraud vs. Phong

Page 48: IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahra i Hiver 2013 DIRO,

Normales aux sommets Flat shading

Gouraud shading Phong shading Crédit : Foley Van Dam

Page 49: IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahra i Hiver 2013 DIRO,

Flat vs. Gouraud vs. Phong

Gouraud Phong Virginia University

Flat Gouraud

Page 50: IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahra i Hiver 2013 DIRO,

Problèmes de l’interpolation (1) •  Silhouette polygonale

•  Distorsion due à la projection en perspective

Page 51: IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahra i Hiver 2013 DIRO,

Problèmes de l’interpolation (2) •  Dépendance d’orientation

1

1

0 0 0

0

0

1 1 1

Page 52: IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahra i Hiver 2013 DIRO,

Problèmes de l’interpolation (2) •  Sommet en T

•  Normales comme une mauvaise représentation

1

1

0 0

1

1

1

1

Page 53: IFT3730: Infographie 3D Illumination localedift3730/notes/05_illumination.pdf · IFT3730: Infographie 3D Illumination locale Pierre Poulin, Derek Nowrouzezahra i Hiver 2013 DIRO,

En résumé •  Illumination locale vs globale •  Modèles de réflexion

–  Ambiant –  Lambertien (diffus) –  Spéculaire (Phong, Blinn) –  BRDF

•  Modèles de lumière –  Pontuelle –  Directionnelle –  Surfacique

•  Shadings –  Flat –  Gouraud –  Phong

•  Problèmes