Scroll to navigation

GLPUSHMATRIX(3G) GLPUSHMATRIX(3G)

NOM

glPushMatrix, glPopMatrix - empile et dépile (push et pop) la pile de la matrice courante

SPÉCIFICATION C

void glPushMatrix( void )


SPÉCIFICATION C

void glPopMatrix( void )


DESCRIPTION

Il existe une pile de matrices pour chaque mode de matrice. Dans le mode GL_MODELVIEW, la profondeur de la pile est au moins 32. Dans les autres modes, GL_COULEUR, const(PROJECTION), et GL_TEXTURE, la profondeur est au moins 2. La matrice courante de chaque mode est la matrice au sommet de la pile de ce mode.

glPushMatrix empile la matrice courante dans sa pile, duplicant la matrice courante. C'est à dire qu'après un appel à glPushMatrix, la matrice au sommet de la pile est identique à celle juste en dessous.

glPopMatrix 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

GL_STACK_OVERFLOW est générée si glPushMatrix est appelé et que la pile de matrice courante est pleine.

GL_STACK_UNDERFLOW est générée si glPopMatrix est appelé et que la pile de matrice courante ne contient qu'une seule matrice.

GL_INVALID_OPERATION est générée si glPushMatrix ou glPopMatrix sont exécutés entre l'exécution de glBegin et l'exécution correspondante de glEnd.

GETS ASSOCIÉS

glGet avec l'argument GL_MATRIX_MODE
glGet avec l'argument GL_COULEUR_MATRIX
glGet avec l'argument GL_MODELVIEW_MATRIX
glGet avec l'argument GL_PROJECTION_MATRIX
glGet avec l'argument GL_TEXTURE_MATRIX
glGet avec l'argument GL_COULEUR_STACK_DEPTH
glGet avec l'argument GL_MODELVIEW_STACK_DEPTH
glGet avec l'argument GL_PROJECTION_STACK_DEPTH
glGet avec l'argument GL_TEXTURE_STACK_DEPTH
glGet avec l'argument GL_MAX_MODELVIEW_STACK_DEPTH
glGet avec l'argument GL_MAX_PROJECTION_STACK_DEPTH
glGet avec l'argument GL_MAX_TEXTURE_STACK_DEPTH

VOIR AUSSI

glFrustum(3G), glLoadIdentity(3G), glLoadMatrix(3G), glMatrixMode(3G), glMultMatrix(3G), glOrtho(3G), glRotate(3G), glScale(3G), glTranslate(3G), glViewport(3G)

TRADUCTION

Sylvain Vignaud <sylvain@vignaud.org>, 2002