Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
IFT3730: Infographie 3D
Illumination locale
Pierre Poulin, Derek Nowrouzezahrai Hiver 2013
DIRO, Université de Montréal
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? »
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
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)
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)
Exemple Illumination
Illumination locale
Illumination globale
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
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)
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
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)
Modèles de réflexion locale
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
• 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
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.
Lumière ambiante (2)
Credit: Foley Van Dam
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)
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é
Réflexion diffuse • Deux modèles pour expliquer ce type de
réflexion
ex.: de la craie ex.: du papier
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
θ
La réflexion diffuse • La réflexion diffuse redistribue les photons
également (en intensité) au-dessus de la surface
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é
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
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
α θ
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
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
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
α
θ θ
Réflexion diffuse + spéculaire
Lumière diffuse Lumière spéculaire “Combo”
BRDF (1)
Modèle simple diffus-spéculaire
isotrope
BRDF d’un modèle plus complexe
anisotrope
• Bidirectional Reflectance Distribution Function
BRDF (2)
shading isotrope
shading anisotrope
BRDF (3) • Capture de la BRDF d’une surface complexe
anisotrope
Surface anisotrope
Credit: McMillan
BRDF (4)
BRDF (5)
Lumières
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
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)
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)
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
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 à
Modèle simple de couleur • Chaque coefficient peut être considéré
comme valide pour une longueur d’onde donnée
Rouge
Vert
Bleu
Shadings
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
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
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
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
Obtenir la couleur à partir de , et
Interpolation bilinéaire
X
Y
Interpole aussi: profondeur, texture, normale, etc.
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
Flat vs. Gouraud vs. Phong
Normales aux sommets Flat shading
Gouraud shading Phong shading Crédit : Foley Van Dam
Flat vs. Gouraud vs. Phong
Gouraud Phong Virginia University
Flat Gouraud
Problèmes de l’interpolation (1) • Silhouette polygonale
• Distorsion due à la projection en perspective
Problèmes de l’interpolation (2) • Dépendance d’orientation
1
1
0 0 0
0
0
1 1 1
Problèmes de l’interpolation (2) • Sommet en T
• Normales comme une mauvaise représentation
1
1
0 0
1
1
1
1
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