zion - glPushMatrix
Nom
glPushMatrix, glPopMatrix - empile et dépile (push et pop) la pile de la matrice courante
SpÉcification c
void f3glPushMatrix( void ) .nf .fi
SpÉcification c
void f3glPopMatrix( void ) .nf .fi
Description
Il existe une pile de matrices pour chaque mode de matrice. Dans le mode %f3GL_MODELVIEW, la profondeur de la pile est au moins 32. Dans les autres modes, %f3GL_COULEUR, const(PROJECTION), et %f3GL_TEXTURE, la profondeur est au moins 2. La matrice courante de chaque mode est la matrice au sommet de la pile de ce mode.
%f3glPushMatrix empile la matrice courante dans sa pile, duplicant la matrice courante. C'est à dire qu'après un appel à %f3glPushMatrix, la matrice au sommet de la pile est identique à celle juste en dessous.
%f3glPopMatrix dépile la matrice courante de la pile, remplaçant la matrice courante par celle en dessous dans la pile.
Initialement, chaque pile contient une seule matrice, la matrice identité.
Il y a une erreur si on empile sur une pile pleine, ou si on dépile une pile ne contenant qu'une seule matrice. Dans ces cas, le marqueur d'erreur est activé et aucun changement n'est fait à l'état courrant GL.
Erreurs
%f3GL_STACK_OVERFLOW est générée si %f3glPushMatrix est appelé et que la pile de matrice courante est pleine.
%f3GL_STACK_UNDERFLOW est générée si %f3glPopMatrix est appelé et que la pile de matrice courante ne contient qu'une seule matrice.
%f3GL_INVALID_OPERATION est générée si %f3glPushMatrix ou %f3glPopMatrix sont exécutés entre l'exécution de %f3glBegin et l'exécution correspondante de %f3glEnd.
Gets associÉs
%f3glGet avec l'argument %f3GL_MATRIX_MODE %f3glGet avec l'argument %f3GL_COULEUR_MATRIX %f3glGet avec l'argument %f3GL_MODELVIEW_MATRIX %f3glGet avec l'argument %f3GL_PROJECTION_MATRIX %f3glGet avec l'argument %f3GL_TEXTURE_MATRIX %f3glGet avec l'argument %f3GL_COULEUR_STACK_DEPTH %f3glGet avec l'argument %f3GL_MODELVIEW_STACK_DEPTH %f3glGet avec l'argument %f3GL_PROJECTION_STACK_DEPTH %f3glGet avec l'argument %f3GL_TEXTURE_STACK_DEPTH %f3glGet avec l'argument %f3GL_MAX_MODELVIEW_STACK_DEPTH %f3glGet avec l'argument %f3GL_MAX_PROJECTION_STACK_DEPTH %f3glGet avec l'argument %f3GL_MAX_TEXTURE_STACK_DEPTH
Voir aussi
%f3glFrustum(3G), %f3glLoadIdentity(3G), %f3glLoadMatrix(3G), %f3glMatrixMode(3G), %f3glMultMatrix(3G), %f3glOrtho(3G), %f3glRotate(3G), %f3glScale(3G), %f3glTranslate(3G), %f3glViewport(3G)
Traduction
Sylvain Vignaud < sylvain@vignaud.org >, 2002
Poster un commentaire