Académique Documents
Professionnel Documents
Culture Documents
Alexandre Meyer
http://bat710.univ-lyon1.fr/~ameyer/cours Comment calculer la couleur de chaque partie
1 des objets? Cours de synthèse d’images 2
B Rb, Vb, Bb
Interpolation
A
C
Ra, Va, Ba Rc, Vc, Bc
7 C
6
5
B
4
Q S
3 T
2
1
0
A Illumination
0 1 2 3 4 5 6 7 8 Idem pour GS et BS
Cours de synthèse d’images 5 Cours de synthèse d’images 6
1
Illumination classique Illumination classique
Illumination locale Exemple finale
K proportion de lumière réfléchie VS absorbée par le matériaux
Valide pour ray-tracing et pour
rendu projectif (Z-Buffer) Couleur de
l’objet
Modèle de Phong R Ra Ri Ro
m
Empirique (plausible mais loin d’une simulation a a i
G = K × G + G × (K d (N.L) + K s (H.N) ) × Go
B B B B
physique) a i Diffus Spéculaire o
3 longueur d’ondes : Red, Green & Blue Ambiant
Illumination = Ambient + Diffus + Speculaire Couleur de la lumière (ex soleil)
R Ra Ri Ro
m
G = K a × Ga + Gi × (K d (N.L) + K s (H.N) ) × Go
B B B Bo
a i
Ambiant
2
Loi de Lambert Lumière diffuse (Diffuse Light)
Couleur de
Additionne le terme diffus
Ii
l’objet
m
R
Ra Ri
a a i
m
Ro
Ir = kaIa + Σj =1kdIi,j (N.L j)
G = K × G + G × (K d (N.L) + K s (H.N) ) × Go
B B B B
a i Diffus Spéculaire o Ii,j est l’intensité de la lumière incidente j
Ambiant
Couleur de la lumière (ex soleil)
lj est le vecteur indiquant la direction vers
Couleur de la lumière ambiante (ex ciel) la lumière j
θ θ
3
Spéculaire « imparfait » (Phong) Composante spéculaire
Couleur de la
source de lumière x ks (H.N)m
E = direction de l’œil
(Eye)
N H N = normal
E
L = direction de la lumiere
L
H = (E+L)/2 m = brillance (shininess)
surface
m grand : petit reflet spéculaire (highlight)
m petit : highlight plus étalé
Cours de synthèse d’images 19 Cours de synthèse d’images 20
Couleur de la lumièreCours
ambiante (ex ciel)
de synthèse d’images 21 Cours de synthèse d’images 22
4
1 normale par sommet Gouraud Shading
On calcule une normale par sommet Gouraud calcule la couleur
Moyenne des normales des faces adjacentes I=ambient+diffus (Sans terme spéculaire)
Pour chaque sommet du polygone
Interpolation bilinéaire des couleurs au moment du
remplissage
fait une interpolation des couleur le long des arêtes du polygones
Normale rouge = moyenne fait une seconde interpolation lors du remplissage du polygone
des normales bleues Cf transparent 5 de ce cours
Cours de synthèse d’images 29 Milieu: Gouraud (Interpolation des couleurs)Cours de synthèse d’images 30
5
Conclusions OpenGL
Couleur d’un pixel Definir une source de lumière
Ambiant
Diffuse GLfloat light_position[] = { 1.0, 1.0, 1.0, 0.0 };
Spéculaire glLightfv(GL_LIGHT0, GL_POSITION, light_position);
Plusieurs sources glEnable(GL_LIGHTING);
Besoin glEnable(GL_LIGHT0);
Ombres
Modèle plus réaliste de reflection (BRDF) La couleur de la source vaut 1,1,1 par defaut
Illumination globale
OpenGL
Donner une couleur diffuse et spéculaire à un
objet
Draw_Cube();