j´ai également une petite page qui explique un peu la théorie sur mon site : (cf ma carte) rubrique info / culture / theorie prog image.
Sinon, pour répondre a la question :
OpenGL NE GARDE PAS les polygones en mémoire.
Quand tu balances un polygones dans le buffer, il l´affiche immédiatement sur l´écran. tu le vois si tu désactives le Z-buffer : les derniers triangles affichés sont ceux qui sont devant.
Mais tu dois te dire "et avec le Z-buffer ?"
En fait, c´est simple : a chaque affichage, l´ordi garde en mémoire dans un buffer, pour chaque pixel, la prodondeur maximale atteinte pour le moment.
Autrement dit, si tu dessines un triangle devant, alors ce buffer (qui, tu t´en doute, est le Z-buffer) contiendra la valeur de la profondeur atteinte a ce pixel.
Quand tu mets un autre triangle, ses pixels ne s´afficheront QUE si ils sont "devant". Si la coordonnée Z du pixel du nouveau triangle a rendre est inférieure a celle déja enregistré dans le Z-buffer a la meme place, alors ça veut dire qu´un objet se trouve déja devant : donc le pixel n´est pas affiché...
Donc pas de mise en mémoire et de classement de tous les triangles
Pour répondre a ton autre question sur le fait d´effacer l´écran ou non : sache que si tu utilises le Z-buffer, autant effacer tout l´écran.
En effet, tu as du remarquer que tu "clear" le Z-buffer a chaque frame, de toute façon. Si tu ne le fais pas, alors ça fera n´importe quoi, car e Z-buffer interdira l´affichage complet ou partiel de certains triangles, alors qu´il ne doit pas...
C´est pour ça qu´on clear toujours le Z-buffer a chaque frame si on s´en sert...
Et en général, pour répondre a la question, on clear EN MEME TEMPS le buffer d´image :
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
Cette fonction est faite pour appeler les 2 en meme temps, et les cartes graphiques actuelles font le clear "en parallele" des 2 buffers.
Donc, tant qu´a perdre du temps a nettoyer le Z, si le buf color peut se nettoyer en meme temps, pourquoi s´en priver
Sinon, je ne donne pas tort a LGV quand il dit que parfois ce n´est pas utile : en effet, des fois les jeux utilisent le BSP et pas vraiment le Z-buffer, et des fois, si vraiment uniquement une partie de l´écran doit bouger, autant ne gérer que celle la, a coup de viewport... Et surement d´autres cas que je ne connais pas sinon 