fonction glPushMatrix

Les fonctions glPushMatrix et glPopMatrix poussent et activent la pile de matrices actuelle.

Syntaxe

void WINAPI glPushMatrix(void);

Paramètres

Cette fonction n’a pas de paramètres.

Valeur retournée

Cette fonction ne retourne pas de valeur.

Codes d’erreur

Le fait d’envoyer (push) une pile de matrice complète est une erreur ou d’afficher une pile de matrice qui ne contient qu’une seule matrice. Dans les deux cas, l’indicateur d’erreur est défini et aucune autre modification n’est apportée à l’état OpenGL.

Les codes d’erreur suivants peuvent être récupérés par la fonction glGetError .

Name Signification
GL_STACK_OVERFLOW
La fonction a été appelée alors que la pile de matrice actuelle était pleine.
GL_INVALID_OPERATION
La fonction a été appelée entre un appel à glBegin et l’appel correspondant à glEnd.

Notes

Il existe une pile de matrices pour chacun des modes de matrice. En mode GL_MODELVIEW, la profondeur de la pile est d’au moins 32. Dans les deux autres modes, GL_PROJECTION et GL_TEXTURE, la profondeur est d’au moins 2. La matrice actuelle dans n’importe quel mode est la matrice située en haut de la pile pour ce mode.

La fonction glPushMatrix pousse la pile de matrice actuelle vers le bas d’un, dupliquant la matrice actuelle. Autrement dit, après un appel glPushMatrix , la matrice située en haut de la pile est identique à celle située en dessous. La fonction glPopMatrix affiche la pile de matrice actuelle, en remplaçant la matrice actuelle par celle en dessous sur la pile. Au départ, chacune des piles contient une matrice, une matrice d’identité.

Les fonctions suivantes récupèrent des informations relatives à glPushMatrix et glPopMatrix :

glGet avec argument GL_MATRIX_MODE

glGet avec argument GL_MODELVIEW_MATRIX

glGet avec argument GL_PROJECTION_MATRIX

glGet avec argument GL_TEXTURE_MATRIX

glGet avec argument GL_MODELVIEW_STACK_DEPTH

glGet avec argument GL_PROJECTION_STACK_DEPTH

glGet avec GL_TEXTURE_STACK_DEPTH d’arguments

glGet avec GL_MAX_MODELVIEW_STACK_DEPTH d’arguments

glGet avec argument GL_MAX_PROJECTION_STACK_DEPTH

glGet avec argument GL_MAX_TEXTURE_STACK_DEPTH

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge
Windows 2000 Server [applications de bureau uniquement]
En-tête
Gl.h
Bibliothèque
Opengl32.lib
DLL
Opengl32.dll

Voir aussi

glBegin

glEnd

glFrustum

glLoadIdentity

glLoadMatrix

glMatrixMode

glMultMatrix

glOrtho

glPopMatrix

glRotate

glScale

glTranslate

glViewport