glPushClientAttrib, fonction

Les fonctions glPushClientAttrib et glPopClientAttrib enregistrent et restaurent des groupes de variables d’état client sur la pile d’attributs client.

Syntaxe

void WINAPI glPushClientAttrib(
   GLbitfield mask
);

Paramètres

mask

Masque qui indique les attributs à enregistrer. Voici les constantes de masque symboliques et leurs états de client OpenGL associés.

Valeur Signification
GL_CLIENT_PIXEL_STORE_BIT
Attributs du mode de stockage de pixels.
GL_CLIENT_VERTEX_ARRAY_BIT
Attributs du tableau de vertex.
GL_CLIENT_ALL_ATTRIB_BITs
tous les attributs d’état client empilables.

Valeur renvoyée

Cette fonction ne retourne pas de valeur.

Codes d’erreur

Le code d’erreur suivant peut être récupéré par la fonction glGetError .

Name Signification
GL_STACK_OVERFLOW
La fonction a été appelée alors que la pile d’attributs client était pleine.

Notes

La fonction glPushClientAttrib utilise son paramètre mask pour déterminer quels groupes de variables d’état client sont enregistrés sur la pile d’attributs client. Vous pouvez utiliser l’opérateur OR au niveau du bit pour joindre des constantes symboliques acceptées afin de définir des bits et de construire un masque.

La fonction glPopClientAttrib restaure les valeurs des variables d’état client enregistrées en dernier avec glPushclientAttrib. Les variables d’état client non enregistrées précédemment sont laissées inchangées. Le fait de pousser des attributs vers une pile d’attributs client complète ou d’enlever des attributs d’une pile vide définit un indicateur d’erreur et aucune autre modification n’est apportée à l’état OpenGL. Par défaut, la pile d’attributs client est vide.

Certaines valeurs d’état du client OpenGL ne peuvent pas être enregistrées sur la pile d’attributs client. Par exemple, vous ne pouvez pas enregistrer les états de sélection ou de commentaires sur la pile d’attributs client. La profondeur de la pile d’attributs client est d’au moins 16.

Les fonctions glPushclientAttrib et glPopClientAttrib ne sont pas compilées dans des listes d’affichage, mais sont exécutées immédiatement.

Les fonctions glPushClientAttrib et glPopClientAttrib peuvent uniquement envoyer et afficher des modes de stockage de pixels et des états clients du tableau de vertex. Vous devez utiliser glPushAttrib et glPopAttrib pour envoyer et afficher des états qui sont conservés sur le serveur.

Notes

Les fonctions glPushClientAttrib et glPopClientAttrib sont uniquement disponibles dans OpenGL version 1.1 ou ultérieure.

Les fonctions suivantes récupèrent des informations relatives à glPushClientAttrib et glPopClientAttrib :

glGet avec argument GL_CLIENT_ATTRIB_STACK_DEPTH

glGet avec argument GL_MAX_CLIENT_ATTRIB_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

glColorPointer

glDisableClientState

glEdgeFlagPointer

glEnableClientState

glGet

glGetError

glIndexPointer

glNormalPointer

glNewList

glPixelStore

glPushAttrib

glTexCoordPointer

glVertexPointer