Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
GLPUSHATTRIB()							GLPUSHATTRIB()

NAME
       glPushAttrib, glPopAttrib - push	and pop	the server attribute 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_AT-
       TRIB_BITS can be	used to	save all stackable states.

       The symbolic mask constants and their associated	GL state are  as  fol-
       lows (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
				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
				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
				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
				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_2D_BINDING)

       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_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  at-
       tributes	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 feedback state cannot be
       saved.  Client state must be saved with glPushClientAttrib.

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

ERRORS
       GL_STACK_OVERFLOW  is generated if glPushAttrib is called while the at-
       tribute stack is	full.

       GL_STACK_UNDERFLOW is generated if glPopAttrib is called	while the  at-
       tribute stack is	empty.

       GL_INVALID_OPERATION is generated if glPushAttrib or glPopAttrib	is ex-
       ecuted 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, glGetClipPlane, glGetError, glGetLight, glGetMap,	glGetMaterial,
       glGetPixelMap, glGetPolygonStipple, glGetString,	glGetTexEnv, glGetTex-
       Gen, glGetTexImage, glGetTexLevelParameter, glGetTexParameter,  glIsEn-
       abled, glPushClientAttrib

								GLPUSHATTRIB()

NAME | C SPECIFICATION | PARAMETERS | C SPECIFICATION | DESCRIPTION | NOTES | ERRORS | ASSOCIATED GETS | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=glPushAttrib&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help