ift3730: infographie 3d illumination locale pierre poulin, derek nowrouzezahrai hiver 2013 diro,...
TRANSCRIPT
IFT3730: Infographie 3D
Illumination locale
Pierre Poulin, Derek Nowrouzezahrai
Hiver 2013DIRO, 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
nm 770380
1410
radio910
FM610
radar410
infrarouge
380
violet
780
rouge210
tultraviole010
X rayons310
rayons
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
ssddaapixel IkIkIkI
++ =
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)
ssddaapixel IkIkIkI sdaapixel IIIkI 00
Credit: Foley Van Dam
Lumière ambiante (3)
aI
ak
aapixel kII
Intensité de la lumière ambiante en un pointdonné (propriété de scène)
Proportion de la lumière ambiante réfléchiepar 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
N
L
La réflexion diffuse• La réflexion diffuse redistribue les photons
également (en intensité) au-dessus de la surface
N
L
N
L
où et sont des vecteurs normalisés.On devrait utiliser pour toute orientation desurface « » mais on allège habituellement la formulation avec
cos)( LN
N
L
)( LNI i
),0max( LN
)( LN
dk Proportion de la lumière diffuseréémise à ce point
ddpixel IkI
Réflexion lambertienne
Id Ii cos
Surface
N
L
iI 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 à
LNLNR
)(2
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éculairedépend de l’orientation
de la surface ainsi que de la position de l’observateur et de la lumière
ncosV
R
ni
nis VRIII )(cos
Surface
N
L
R
Observateur
R
V
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
n1n
L R
N
20n
2n
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
ncosN
H
H
L
V
VL
VLH
H
N
RV
L
Réflexion diffuse + spéculaire
Lumière diffuse Lumière spéculaire “Combo”
BRDF (1)
Modèle simplediffus-spéculaire
isotrope
BRDF d’un modèleplus complexe
anisotrope
• Bidirectional Reflectance Distribution Function
BRDF (2)
shadingisotrope
shadinganisotrope
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 :
21 r
1
kc klr kqr2
qlc kkk ,,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 à
nisid
i i
iaapixel VRkLNk
r
IkII )()(2
ssddaapixel kIkIkII
Modèle simple de couleur• Chaque coefficient peut être considéré
comme valide pour une longueur d’onde donnée
Ipixelr Iarkar Iir kdr(N
L ) ksr
N
H n
Ipixelg Iagkag Iig kdg (N
L ) ksg
N
H n
Ipixelb Iabkab Iib kdb (N
L ) ksb
N
H n
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
LN
EN
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
i
i
N
NN
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é
N
N iN i
Crédit : E.Angel
Obtenir la couleur à partir
de , et
Interpolation bilinéaire)( 121 yytyy p
12
1
12
1
yy
yy
zz
zz pa
)(
)()(
12
1121 yy
yyzzzz p
a
)(
)()(
13
1131 yy
yyzzzz p
b
1z
2z
3z
)(
)()(
ab
apabap xx
xxzzzz
)( 121 zztzza
azpz
bz
1y
py
2y
3yX
Y
Interpole aussi:profondeur, texture, normale, etc.
pz
2z 3z1z
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 shadingCrédit : Foley Van Dam
Flat vs. Gouraud vs. Phong
Gouraud PhongVirginia University
Flat Gouraud
Problèmes de l’interpolation (1)• Silhouette polygonale
• Distorsion due à la projection en perspective
21
21
21 2
1
Problèmes de l’interpolation (2)• Dépendance d’orientation
1
1
0 00o90
0
0
1 11
Problèmes de l’interpolation (2)• Sommet en T
• Normales comme une mauvaise représentation
1
1
00
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