MirBSD manpage: glPopAttrib(3), glPushAttrib(3)


GLPUSHATTRIB(3G)    UNIX Programmer's Manual     GLPUSHATTRIB(3G)

NAME

     glPushAttrib, glPopAttrib - push and pop the server attri-
     bute stack

C SPECIFICATION

     void glPushAttrib( GLbitfield mask )

PARAMETERS

     mask  Specifies a mask that indicates which attributes to
           save. Values for mask are listed below.

C SPECIFICATION

     void glPopAttrib( void )

DESCRIPTION

     glPushAttrib takes one argument, a mask that indicates which
     groups of state variables to save on the attribute stack.
     Symbolic constants are used to set bits in the mask. mask is
     typically constructed by ORing several of these constants
     together. The special mask GL_ALL_ATTRIB_BITS can be used to
     save all stackable states.

     The symbolic mask constants and their associated GL state
     are as follows (the second column lists which attributes are
     saved):

     GL_ACCUM_BUFFER_BIT      Accumulation buffer clear value

     GL_COLOR_BUFFER_BIT      GL_ALPHA_TEST enable bit
                              Alpha test function and reference value
                              GL_BLEND enable bit
                              Blending source and destination functions
                              Constant blend color
                              Blending equation
                              GL_DITHER enable bit
                              GL_DRAW_BUFFER setting
                              GL_COLOR_LOGIC_OP enable bit
                              GL_INDEX_LOGIC_OP enable bit
                              Logic op function
                              Color mode and index mode clear values
                              Color mode and index mode writemasks

     GL_CURRENT_BIT           Current RGBA color
                              Current color index
                              Current normal vector
                              Current texture coordinates
                              Current raster position
                              GL_CURRENT_RASTER_POSITION_VALID flag
                              RGBA color associated with current raster position

MirBSD #10-current     Printed 2021-12-07                       1

GLPUSHATTRIB(3G)    UNIX Programmer's Manual     GLPUSHATTRIB(3G)

                              Color index associated with current raster position
                              Texture coordinates associated with current raster position
                              GL_EDGE_FLAG flag

     GL_DEPTH_BUFFER_BIT      GL_DEPTH_TEST enable bit
                              Depth buffer test function
                              Depth buffer clear value
                              GL_DEPTH_WRITEMASK enable bit

     GL_ENABLE_BIT            GL_ALPHA_TEST flag
                              GL_AUTO_NORMAL flag
                              GL_BLEND flag
                              Enable bits for the user-definable clipping planes
                              GL_COLOR_MATERIAL
                              GL_CULL_FACE flag
                              GL_DEPTH_TEST flag
                              GL_DITHER flag
                              GL_FOG flag
                              GL_LIGHTi where 0 <= i<GL_MAX_LIGHTS
                              GL_LIGHTING flag
                              GL_LINE_SMOOTH flag
                              GL_LINE_STIPPLE flag
                              GL_COLOR_LOGIC_OP flag
                              GL_INDEX_LOGIC_OP flag
                              GL_MAP1_x where x is a map type
                              GL_MAP2_x where x is a map type
                              GL_NORMALIZE flag
                              GL_POINT_SMOOTH flag
                              GL_POLYGON_OFFSET_LINE flag
                              GL_POLYGON_OFFSET_FILL flag
                              GL_POLYGON_OFFSET_POINT flag
                              GL_POLYGON_SMOOTH flag
                              GL_POLYGON_STIPPLE flag
                              GL_SCISSOR_TEST flag
                              GL_STENCIL_TEST flag
                              GL_TEXTURE_1D flag
                              GL_TEXTURE_2D flag
                              GL_TEXTURE_3D flag
                              Flags GL_TEXTURE_GEN_x where x is S, T, R, or Q

     GL_EVAL_BIT              GL_MAP1_x enable bits, where x is a map type
                              GL_MAP2_x enable bits, where x is a map type
                              1D grid endpoints and divisions
                              2D grid endpoints and divisions
                              GL_AUTO_NORMAL enable bit

     GL_FOG_BIT               GL_FOG enable bit
                              Fog color
                              Fog density
                              Linear fog start
                              Linear fog end
                              Fog index

MirBSD #10-current     Printed 2021-12-07                       2

GLPUSHATTRIB(3G)    UNIX Programmer's Manual     GLPUSHATTRIB(3G)

                              GL_FOG_MODE value

     GL_HINT_BIT              GL_PERSPECTIVE_CORRECTION_HINT setting
                              GL_POINT_SMOOTH_HINT setting
                              GL_LINE_SMOOTH_HINT setting
                              GL_POLYGON_SMOOTH_HINT setting
                              GL_FOG_HINT setting

     GL_LIGHTING_BIT          GL_COLOR_MATERIAL enable bit
                              GL_COLOR_MATERIAL_FACE value
                              Color material parameters that are tracking the current color
                              Ambient scene color
                              GL_LIGHT_MODEL_LOCAL_VIEWER value
                              GL_LIGHT_MODEL_TWO_SIDE setting
                              GL_LIGHTING enable bit
                              Enable bit for each light
                              Ambient, diffuse, and specular intensity for each light
                              Direction, position, exponent, and cutoff angle for each light
                              Constant, linear, and quadratic attenuation factors for each light
                              Ambient, diffuse, specular, and emissive color for each material
                              Ambient, diffuse, and specular color indices for each material
                              Specular exponent for each material
                              GL_SHADE_MODEL setting

     GL_LINE_BIT              GL_LINE_SMOOTH flag
                              GL_LINE_STIPPLE enable bit
                              Line stipple pattern and repeat counter
                              Line width

     GL_LIST_BIT              GL_LIST_BASE setting

     GL_PIXEL_MODE_BIT        GL_RED_BIAS and GL_RED_SCALE settings
                              GL_GREEN_BIAS and GL_GREEN_SCALE values
                              GL_BLUE_BIAS and GL_BLUE_SCALE
                              GL_ALPHA_BIAS and GL_ALPHA_SCALE
                              GL_DEPTH_BIAS and GL_DEPTH_SCALE
                              GL_INDEX_OFFSET and GL_INDEX_SHIFT values
                              GL_MAP_COLOR and GL_MAP_STENCIL flags
                              GL_ZOOM_X and GL_ZOOM_Y factors
                              GL_READ_BUFFER setting

     GL_POINT_BIT             GL_POINT_SMOOTH flag
                              Point size

     GL_POLYGON_BIT           GL_CULL_FACE enable bit
                              GL_CULL_FACE_MODE value
                              GL_FRONT_FACE indicator
                              GL_POLYGON_MODE setting
                              GL_POLYGON_SMOOTH flag
                              GL_POLYGON_STIPPLE enable bit
                              GL_POLYGON_OFFSET_FILL flag
                              GL_POLYGON_OFFSET_LINE flag

MirBSD #10-current     Printed 2021-12-07                       3

GLPUSHATTRIB(3G)    UNIX Programmer's Manual     GLPUSHATTRIB(3G)

                              GL_POLYGON_OFFSET_POINT flag
                              GL_POLYGON_OFFSET_FACTOR
                              GL_POLYGON_OFFSET_UNITS

     GL_POLYGON_STIPPLE_BIT   Polygon stipple image

     GL_SCISSOR_BIT           GL_SCISSOR_TEST flag
                              Scissor box

     GL_STENCIL_BUFFER_BIT    GL_STENCIL_TEST enable bit
                              Stencil function and reference value
                              Stencil value mask
                              Stencil fail, pass, and depth buffer pass actions
                              Stencil buffer clear value
                              Stencil buffer writemask

     GL_TEXTURE_BIT           Enable bits for the four texture coordinates
                              Border color for each texture image
                              Minification function for each texture image
                              Magnification function for each texture image
                              Texture coordinates and wrap mode for each texture image
                              Color and mode for each texture environment
                              Enable bits GL_TEXTURE_GEN_x, x is S, T, R, and Q
                              GL_TEXTURE_GEN_MODE setting for S, T, R, and Q
                              glTexGen plane equations for S, T, R, and Q
                              Current texture bindings (for example, GL_TEXTURE_BINDING_2D)

     GL_TRANSFORM_BIT         Coefficients of the six clipping planes
                              Enable bits for the user-definable clipping planes
                              GL_MATRIX_MODE value
                              GL_NORMALIZE flag
                              GL_RESCALE_NORMAL flag

     GL_VIEWPORT_BIT          Depth range (near and far)
                              Viewport origin and extent

     glPopAttrib restores the values of the state variables saved
     with the last
     glPushAttrib command. Those not saved are left unchanged.

     It is an error to push attributes onto a full stack, or to
     pop attributes off an empty stack. In either case, the error
     flag is set and no other change is made to GL state.

     Initially, the attribute stack is empty.

NOTES

     Not all values for GL state can be saved on the attribute
     stack. For example, render mode state, and select and feed-
     back state cannot be saved. Client state must be saved with
     glPushClientAttrib.

MirBSD #10-current     Printed 2021-12-07                       4

GLPUSHATTRIB(3G)    UNIX Programmer's Manual     GLPUSHATTRIB(3G)

     The depth of the attribute stack depends on the implementa-
     tion, but it must be at least 16.

     When the GL_ARB_multitexture extension is supported, pushing
     and popping texture state apples to all supported texture
     units.

ERRORS

     GL_STACK_OVERFLOW is generated if glPushAttrib is called
     while the attribute stack is full.

     GL_STACK_UNDERFLOW is generated if glPopAttrib is called
     while the attribute stack is empty.

     GL_INVALID_OPERATION is generated if glPushAttrib or
     glPopAttrib is executed between the execution of glBegin and
     the corresponding execution of glEnd.

ASSOCIATED GETS

     glGet with argument GL_ATTRIB_STACK_DEPTH
     glGet with argument GL_MAX_ATTRIB_STACK_DEPTH

SEE ALSO

     glGet(3G), glGetClipPlane(3G), glGetError(3G),
     glGetLight(3G), glGetMap(3G), glGetMaterial(3G),
     glGetPixelMap(3G), glGetPolygonStipple(3G), glGetString(3G),
     glGetTexEnv(3G), glGetTexGen(3G), glGetTexImage(3G),
     glGetTexLevelParameter(3G), glGetTexParameter(3G),
     glIsEnabled(3G), glPushClientAttrib(3G)

MirBSD #10-current     Printed 2021-12-07                       5

Generated on 2021-12-07 11:07:08 by $MirOS: src/scripts/roff2htm,v 1.103 2021/01/23 20:24:35 tg Exp $ — This product includes material provided by mirabilos.

These manual pages and other documentation are copyrighted by their respective writers; their sources are available at the project’s CVSweb, AnonCVS and other mirrors. The rest is Copyright © 2002–2021 MirBSD.

This manual page’s HTML representation is supposed to be valid XHTML/1.1; if not, please send a bug report — diffs preferred.