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 |
---|---|
|
La fonction a été appelée alors que la pile d’attributs était pleine. |
|
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 |
|
Bibliothèque |
|
DLL |
|