Académique Documents
Professionnel Documents
Culture Documents
Plan image
(viewport)
l
Ap A
CDP
h
d
Élimination des parties cachées
1. Projection des points sur le plan image
2. Clipping
Synthèse d’images 3. Remplissage des triangles (rasterisation) dans l’image
4. Suppression des parties cachées
©Alexandre Meyer 2002-2005 Anthony Steed 1999 5. Calcul de la couleur : illumination
1
Problème des parties cachées 1ere idée : algo du peintre
Problème Peindre les facettes polygonales dans la
mémoire vidéo suivant un ordre de
distance décroissante au point
d’observation.
Ambiguïtés Algo
1. Trier les facettes suivant les z
décroissants dans le repère de la
caméra.
2. Résoudre les ambiguïtés dans la liste
lorsque les facettes se recouvrent.
→ découper les polygones ambigus
3. Projeter les facettes et remplir les
polygones suivant la liste.
2
Polygones/zone de travail Polygones/zone de travail
Inclus
Englobe Intersecte Disjoint
3
Warnock : exemple (4) Warnock : exemple (5)
4
Z-Buffer Z-Buffer
+inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf
+inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf 4 4 4 +inf +inf +inf +inf +inf +inf +inf
+inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf 44 4 4 5 5 5 55 +inf +inf +inf
+inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf 4 4 5 5 5 +inf +inf +inf +inf
+inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf 3 3 4 4 +inf +inf +inf +inf +inf
+inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf 3 3 3 +inf +inf +inf +inf +inf +inf
+inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf 3 +inf +inf +inf +inf +inf +inf +inf
+inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf
+inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf
5
Zbuffer : exemple de remplissage Contenu de la table des arêtes actives (AET)
300
Problème de précision
Exemple: 200
1 octet pour la profondeur
OpenGL OpenGL
Effacer le buffer et le zbuffer entre chaque image Régler la précision du z-buffer avec NEAR et FAR
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); dans la matrice de projection
gluPerspective(fovy, aspect, zNear, zFar)
Active le test des Z avec le Z-buffer
glEnable(GL_DEPTH_TEST) ; Ne jamais mettre zNear à 0
activé
→ problème de division par 0 dans la matrice générale
de projection
→ intervalle des z infini