orientation d'un objet = sa matrice de rotation
orientation d'un polygone = comme dit plus haut, si tu traces un triangle composé des points A, B, C tu peux faire
glVertex(A)
glVertex(B)
glVertex(C)
ou
glVertex(A)
glVertex(C)
glVertex(B)
opengl utilise cet ordre pour déterminer la normale au triangle (vecteur perpendiculaire et orienté), en calculant le produit vectoriel (noté ^) de deux vecteurs définissant le triangle (par ex dans le premier cas, (b-a) ^ (b-c), dans le second (c-a) ^ (c-b) ).
tu obtiens ainsi une 'orientation' de ton polygone, suivant le côté vers lequel pointe sa normale. à quoi ça sert ? à choisir de ne pas afficher les 'polygones cachés' : en gros, ceux dont la normale pointe "vers l'arrière".
c'est pour ça que tu peux avoir trois paramètres à glCullFace() :
GL_FRONT pour ne pas afficher les polygones dont la normale pointe vers l'avant
GL_BACK .... vers l'arrière
GL_FRONT_AND_BACK pour ne rien afficher.