glPushAttrib, fonction

Envoie (push) la pile d’attributs.

Syntaxe

void WINAPI glPushAttrib(
   GLbitfield mask
);

Paramètres

mask

Masque qui indique les attributs à enregistrer. Les constantes de masque symbolique et leur état OpenGL associé sont les suivants (les paragraphes mis en retrait répertorient les attributs qui sont enregistrés) :

GL_ACCUM_BUFFER_BIT

Valeur d’effacement de la mémoire tampon d’accumulation

GL_COLOR_BUFFER_BIT

GL_ALPHA_TEST activer le bit

Fonction de test alpha et valeur de référence

GL_BLEND activer le bit

Fusion des fonctions source et de destination

GL_DITHER activer le bit

GL_DRAW_BUFFER paramètre

GL_LOGIC_OP activer le bit

Fonction d’opération logique

Valeurs d’effacement en mode couleur et en mode index

Masque d’écriture en mode couleur et en mode index

GL_CURRENT_BIT

Couleur RVBA actuelle

Index de couleur actuel

Vecteur normal actuel

Coordonnées de texture actuelles

Indicateur de GL_CURRENT_RASTER_POSITION_VALID position raster actuelle

Couleur RVBA associée à la position raster actuelle

Index de couleur associé à la position raster actuelle

Coordonnées de texture associées à la position raster actuelle

indicateur GL_EDGE_FLAG

GL_DEPTH_BUFFER_BIT

GL_DEPTH_TEST activer le bit

Fonction de test de la mémoire tampon de profondeur

Valeur d’effacement de la mémoire tampon de profondeur

GL_DEPTH_WRITEMASK activer le bit

GL_ENABLE_BIT

indicateur GL_ALPHA_TEST

indicateur GL_AUTO_NORMAL

indicateur GL_BLEND

Activer les bits pour les plans de découpage définissables par l’utilisateur

GL_COLOR_MATERIAL

GL_CULL_FACE indicateur

GL_DEPTH_TEST indicateur

indicateur GL_DITHER

GL_FOG indicateur

GL_LIGHTi où 0 <= i< GL_MAX_LIGHTS

GL_LIGHTING indicateur

GL_LINE_SMOOTH indicateur

indicateur GL_LINE_STIPPLE

indicateur GL_COLOR_LOGIC_OP

indicateur GL_INDEX_LOGIC_OP

GL_MAP1_x où x est un type de carte

GL_MAP2_x où x est un type de carte

GL_NORMALIZE indicateur

GL_POINT_SMOOTH indicateur

indicateur GL_POLYGON_OFFSET_LINE

GL_POLYGON_OFFSET_FILL indicateur

GL_POLYGON_OFFSET_POINT indicateur

indicateur GL_POLYGON_SMOOTH

GL_POLYGON_STIPPLE indicateur

GL_SCISSOR_TEST indicateur

GL_STENCIL_TEST indicateur

GL_TEXTURE_1D indicateur

indicateur GL_TEXTURE_2D

Indicateurs GL_TEXTURE_GEN_x où x est S, T, R ou Q

GL_EVAL_BIT

GL_MAP1_x activer les bits, où x est un type de carte

GL_MAP2_x activer les bits, où x est un type de carte

Divisions et points de terminaison de grille 1D

Divisions et points de terminaison de grille 2D

GL_AUTO_NORMAL activer le bit

GL_FOG_BIT

GL_FOG activer l’indicateur

Couleur de brouillard

Densité de brouillard

Début de brouillard linéaire

Fin de brouillard linéaire

Index de brouillard

GL_FOG_MODE valeur

GL_HINT_BIT

GL_PERSPECTIVE_CORRECTION_HINT paramètre

GL_POINT_SMOOTH_HINT paramètre

GL_LINE_SMOOTH_HINT paramètre

GL_POLYGON_SMOOTH_HINT paramètre

GL_FOG_HINT paramètre

GL_LIGHTING_BIT

GL_COLOR_MATERIAL activer le bit

GL_COLOR_MATERIAL_FACE valeur

Paramètres de matériau de couleur qui effectuent le suivi de la couleur actuelle

Couleur de scène ambiante

GL_LIGHT_MODEL_LOCAL_VIEWER valeur

GL_LIGHT_MODEL_TWO_SIDE paramètre

GL_LIGHTING activer le bit

Activer le bit pour chaque lumière

Intensité ambiante, diffuse et spéculaire pour chaque lumière

Direction, position, exposant et angle de coupe pour chaque lumière

Facteurs d’atténuation constants, linéaires et quadratiques pour chaque lumière

Couleur ambiante, diffuse, spéculaire et émissive pour chaque matériau

Index de couleurs ambiantes, diffuses et spéculaires pour chaque matériau

Exposant spéculaire pour chaque paramètre de GL_SHADE_MODEL matériau

GL_LINE_BIT

GL_LINE_SMOOTH indicateur

GL_LINE_STIPPLE activer le bit

Modèle d’info-bulles de ligne et compteur de répétition

Largeur de ligne

GL_LIST_BIT

GL_LIST_BASE paramètre

GL_PIXEL_MODE_BIT

GL_RED_BIAS et paramètres de GL_RED_SCALE

GL_GREEN_BIAS et GL_GREEN_SCALE valeurs

GL_BLUE_BIAS et GL_BLUE_SCALE

GL_ALPHA_BIAS et GL_ALPHA_SCALE

GL_DEPTH_BIAS et GL_DEPTH_SCALE

GL_INDEX_OFFSET et GL_INDEX_SHIFT valeurs

GL_MAP_COLOR et indicateurs de GL_MAP_STENCIL

GL_ZOOM_X et facteurs GL_ZOOM_Y

GL_READ_BUFFER paramètre

GL_POINT_BIT

GL_POINT_SMOOTH indicateur

Taille du point

GL_POLYGON_BIT

GL_CULL_FACE activer le bit

GL_CULL_FACE_MODE valeur

indicateur GL_FRONT_FACE

GL_POLYGON_MODE paramètre

indicateur GL_POLYGON_SMOOTH

GL_POLYGON_STIPPLE activer le bit

GL_POLYGON_OFFSET_FILL indicateur

indicateur GL_POLYGON_OFFSET_LINE

GL_POLYGON_OFFSET_POINT indicateur

GL_POLYGON_OFFSET_FACTOR

GL_POLYGON_OFFSET_UNITS

GL_POLYGON_STIPPLE_BIT

Image de l’info-bulle polygonale

GL_SCISSOR_BIT

GL_SCISSOR_TEST indicateur

Boîte à ciseaux

GL_STENCIL_BUFFER_BIT

GL_STENCIL_TEST activer le bit

Fonction de gabarit et valeur de référence

Masque de valeur de gabarit

Actions de passage de mémoire tampon d’échec, de passage et de profondeur du gabarit

Valeur d’effacement de la mémoire tampon de gabarit

Masque d’écriture de mémoire tampon de gabarit

GL_TEXTURE_BIT

Activer les bits pour les quatre coordonnées de texture

Couleur de bordure pour chaque image de texture

Fonction de minification pour chaque image de texture

Fonction d’agrandissement pour chaque image de texture

Coordonnées de texture et mode d’habillage pour chaque image de texture

Couleur et mode pour chaque environnement de texture

Activez bits GL_TEXTURE_GEN_x ; x est S, T, R et Q

GL_TEXTURE_GEN_MODE paramètre pour S, T, R et Q

Équations de plan glTexGen pour S, T, R et Q

GL_TRANSFORM_BIT

Coefficients des six plans de découpage

Activer les bits pour les plans de découpage définissables par l’utilisateur

GL_MATRIX_MODE valeur

GL_NORMALIZE indicateur

GL_VIEWPORT_BIT

Plage de profondeur (proche et lointain)

Origine et étendue de la fenêtre d’affichage

Valeur renvoyée

Cette fonction ne retourne pas de valeur.

Codes d’erreur

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 d’attributs était pleine.
GL_INVALID_OPERATION
La fonction a été appelée entre un appel à glBegin et l’appel correspondant à glEnd.

Notes

La fonction glPushAttrib prend un argument, un masque qui indique les groupes de variables d’état à enregistrer sur la pile d’attributs. Des constantes symboliques sont utilisées pour définir des bits dans le masque. Le paramètre mask est généralement construit en appliquant l’opération LOGIQUE OR à plusieurs de ces constantes. Vous pouvez utiliser le masque spécial GL_ALL_ATTRIB_BITS pour enregistrer tous les états empilables.

La fonction glPopAttrib restaure les valeurs des variables d’état enregistrées avec la dernière commande glPushAttrib . Ceux qui ne sont pas enregistrés restent inchangés.

Il s’agit d’une erreur d’envoi (push) d’attributs sur une pile complète ou de faire apparaître des attributs hors d’une pile vide. Dans les deux cas, l’indicateur d’erreur est défini et aucune autre modification n’est apportée à l’état OpenGL.

Initialement, la pile d’attributs est vide.

Toutes les valeurs de l’état OpenGL ne peuvent pas être enregistrées sur la pile d’attributs. Par exemple, vous ne pouvez pas enregistrer le pack de pixels et décompresser l’état, l’état du mode de rendu et l’état de sélection et de commentaires.

La profondeur de la pile d’attributs dépend de l’implémentation, mais elle doit être d’au moins 16.

Les fonctions suivantes récupèrent des informations relatives à glPushAttrib et glPopAttrib :

glGet avec argument GL_ATTRIB_STACK_DEPTH

glGet avec argument GL_MAX_ATTRIB_STACK_DEPTH

Configuration requise

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

glGet

glGetClipPlane

glGetError

glGetLight

glGetMap

glGetMaterial

glGetPixelMap

glGetPolygonStipple

glGetString

glGetTexEnv

glGetTexGen

glGetTexImage

glGetTexLevelParameter

glGetTexParameter

glIsEnabled