_C_ License Applicability. Except to the extent portions of this file are
_C_ made subject to an alternative license as permitted in the SGI Free
_C_ Software License B, Version 1.1 (the "License"), the contents of this
_C_ file are subject only to the provisions of the License. You may not use
_C_ this file except in compliance with the License. You may obtain a copy
_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
_C_ 
_C_ http://oss.sgi.com/projects/FreeB
_C_ 
_C_ Note that, as provided in the License, the Software is distributed on an
_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
_C_ 
_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
_C_ Copyright in any portions created by third parties is as indicated
_C_ elsewhere herein. All Rights Reserved.
_C_ 
_C_ Additional Notice Provisions: The application programming interfaces
_C_ established by SGI in conjunction with the Original Code are The
_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
_C_ published by SGI, but has not been independently verified as being
_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
_C_
_C_ $Date$ $Revision$
_C_ The first character in this file must be an '_'!
_C_ Anything on a line after _C_ is ignored
_define(_filters,eqn|tbl)_C_
_C_      eqn is automatically replaced with neqn for nroff
_header(Enable, enable or disable server-side GL capabilities)
_names(Enable)
.SH PARAMETERS
_phead(_param1)
Specifies a symbolic constant indicating a GL capability.
_names(Disable)
.SH PARAMETERS
_phead(_param1)
Specifies a symbolic constant indicating a GL capability.
.SH DESCRIPTION
_cmnd and _cmnd(Disable) enable and disable various capabilities.
Use _cmnd(IsEnabled) or _cmnd(Get) to determine the current setting
of any capability. The initial value for each capability with the
exception of _const(DITHER) is _const(FALSE). The initial value for
_const(DITHER) is _const(TRUE). 
.P
Both _cmnd(Enable) and _cmnd(Disable) take a single argument, _param1,
which can assume one of the following values:
.TP 25
_const(ALPHA_TEST)
If enabled,
do alpha testing. See
_cmnd(AlphaFunc).
.TP
_const(AUTO_NORMAL)
If enabled,
generate normal vectors when either
_const(MAP2_VERTEX_3) or
_const(MAP2_VERTEX_4) is used to generate vertices. 
See _cmnd(Map2).
.TP
_const(BLEND)
If enabled,
blend the incoming RGBA color values with the values in the color
buffers. See _cmnd(BlendFunc).
.TP
_const(CLIP_PLANE)\f2i\fP
If enabled,
clip geometry against user-defined clipping plane \f2i\fP.
See _cmnd(ClipPlane).
.TP
_const(COLOR_LOGIC_OP)
If enabled,
apply the currently selected logical operation to the incoming RGBA
color and color buffer values. See _cmnd(LogicOp).
.TP
_const(COLOR_MATERIAL)
If enabled,
have one or more material parameters track the current color.
See _cmnd(ColorMaterial).
.TP
_const(COLOR_TABLE)
If enabled,
preform a color table lookup on the incoming RGBA color values.
See _cmnd(ColorTable).
.TP
_const(CONVOLUTION_1D)
If enabled,
perform a 1D convolution operation on incoming RGBA color values.
See _cmnd(ConvolutionFilter1D).
.TP
_const(CONVOLUTION_2D)
If enabled,
perform a 2D convolution operation on incoming RGBA color values.
See _cmnd(ConvolutionFilter2D).
.TP
_const(CULL_FACE)
If enabled,
cull polygons based on their winding in window coordinates. 
See _cmnd(CullFace).
.TP
_const(DEPTH_TEST)
If enabled,
do depth comparisons and update the depth buffer. Note that even if
the depth buffer exists and the depth mask is non-zero, the 
depth buffer is not updated if the depth test is disabled. See
_cmnd(DepthFunc) and 
.br
_cmnd(DepthRange). 
.TP
_const(DITHER)	
If enabled,
dither color components or indices before they are written to the
color buffer.
.TP
_const(FOG)
If enabled,
blend a fog color into the posttexturing color.
See _cmnd(Fog).
.TP
_const(HISTOGRAM)
If enabled,
histogram incoming RGBA color values.
See _cmnd(Histogram).
.TP
_const(INDEX_LOGIC_OP)
If enabled,
apply the currently selected logical operation to the incoming index and color
buffer indices. See 
.br
_cmnd(LogicOp).
.TP
_const(LIGHT)\f2i\fP
If enabled,
include light \f2i\fP in the evaluation of the lighting
equation. See _cmnd(LightModel) and _cmnd(Light).
.TP
_const(LIGHTING)
If enabled,
use the current lighting parameters to compute the vertex color or index.
Otherwise, simply associate the current color or index with each
vertex. See 
.br
_cmnd(Material), _cmnd(LightModel), and _cmnd(Light).
.TP
_const(LINE_SMOOTH)
If enabled,
draw lines with correct filtering.
Otherwise,
draw aliased lines.
See _cmnd(LineWidth).
.TP
_const(LINE_STIPPLE)
If enabled,
use the current line stipple pattern when drawing lines. See
_cmnd(LineStipple). 
.TP
_const(MAP1_COLOR_4)
If enabled,
calls to
_cmnd(EvalCoord1),
_cmnd(EvalMesh1), and
_cmnd(EvalPoint1) generate RGBA values.
See _cmnd(Map1).
.TP
_const(MAP1_INDEX)
If enabled,
calls to
_cmnd(EvalCoord1),
_cmnd(EvalMesh1), and
_cmnd(EvalPoint1) generate color indices.
See _cmnd(Map1).
.TP
_const(MAP1_NORMAL)
If enabled,
calls to
_cmnd(EvalCoord1),
_cmnd(EvalMesh1), and
_cmnd(EvalPoint1) generate normals.
See _cmnd(Map1).
.TP
_const(MAP1_TEXTURE_COORD_1)
If enabled,
calls to
_cmnd(EvalCoord1),
_cmnd(EvalMesh1), and
_cmnd(EvalPoint1) generate
\f2s\fP
texture coordinates.
See _cmnd(Map1).
.TP
_const(MAP1_TEXTURE_COORD_2)
If enabled,
calls to
_cmnd(EvalCoord1),
_cmnd(EvalMesh1), and
_cmnd(EvalPoint1) generate
\f2s\fP and
\f2t\fP texture coordinates.
See _cmnd(Map1).
.TP
_const(MAP1_TEXTURE_COORD_3)
If enabled,
calls to
_cmnd(EvalCoord1),
_cmnd(EvalMesh1), and
_cmnd(EvalPoint1) generate
\f2s\fP,
\f2t\fP, and
\f2r\fP texture coordinates.
See _cmnd(Map1).
.TP
_const(MAP1_TEXTURE_COORD_4)
If enabled,
calls to
_cmnd(EvalCoord1),
_cmnd(EvalMesh1), and
_cmnd(EvalPoint1) generate
\f2s\fP,
\f2t\fP,
\f2r\fP, and
\f2q\fP texture coordinates.
See _cmnd(Map1).
.TP
_const(MAP1_VERTEX_3)
If enabled,
calls to
_cmnd(EvalCoord1),
_cmnd(EvalMesh1), and
_cmnd(EvalPoint1) generate
\f2x\fP, \f2y\fP, and \f2z\fP vertex coordinates.
See _cmnd(Map1).
.TP
_const(MAP1_VERTEX_4)
If enabled,
calls to
_cmnd(EvalCoord1),
_cmnd(EvalMesh1), and
_cmnd(EvalPoint1) generate
homogeneous
\f2x\fP,
\f2y\fP,
\f2z\fP, and
\f2w\fP vertex coordinates.
See _cmnd(Map1).
.TP
_const(MAP2_COLOR_4)
If enabled,
calls to
_cmnd(EvalCoord2),
_cmnd(EvalMesh2), and
_cmnd(EvalPoint2) generate RGBA values.
See _cmnd(Map2).
.TP
_const(MAP2_INDEX)
If enabled,
calls to
_cmnd(EvalCoord2),
_cmnd(EvalMesh2), and
_cmnd(EvalPoint2) generate color indices.
See _cmnd(Map2).
.TP
_const(MAP2_NORMAL)
If enabled,
calls to
_cmnd(EvalCoord2),
_cmnd(EvalMesh2), and
_cmnd(EvalPoint2) generate normals.
See _cmnd(Map2).
.TP
_const(MAP2_TEXTURE_COORD_1)
If enabled,
calls to
_cmnd(EvalCoord2),
_cmnd(EvalMesh2), and
_cmnd(EvalPoint2) generate
\f2s\fP
texture coordinates.
See _cmnd(Map2).
.TP
_const(MAP2_TEXTURE_COORD_2)
If enabled,
calls to
_cmnd(EvalCoord2),
_cmnd(EvalMesh2), and
_cmnd(EvalPoint2) generate
\f2s\fP and
\f2t\fP texture coordinates.
See _cmnd(Map2).
.TP
_const(MAP2_TEXTURE_COORD_3)
If enabled,
calls to
_cmnd(EvalCoord2),
_cmnd(EvalMesh2), and
_cmnd(EvalPoint2) generate
\f2s\fP,
\f2t\fP, and
\f2r\fP texture coordinates.
See _cmnd(Map2).
.TP
_const(MAP2_TEXTURE_COORD_4)
If enabled,
calls to
_cmnd(EvalCoord2),
_cmnd(EvalMesh2), and
_cmnd(EvalPoint2) generate
\f2s\fP,
\f2t\fP,
\f2r\fP, and
\f2q\fP texture coordinates.
See _cmnd(Map2).
.TP
_const(MAP2_VERTEX_3)
If enabled,
calls to
_cmnd(EvalCoord2),
_cmnd(EvalMesh2), and
_cmnd(EvalPoint2) generate
\f2x\fP, \f2y\fP, and \f2z\fP vertex coordinates.
See _cmnd(Map2).
.TP
_const(MAP2_VERTEX_4)
If enabled,
calls to
_cmnd(EvalCoord2),
_cmnd(EvalMesh2), and
_cmnd(EvalPoint2) generate
homogeneous
\f2x\fP,
\f2y\fP,
\f2z\fP, and
\f2w\fP vertex coordinates.
See _cmnd(Map2).
.TP
_const(MINMAX)
If enabled,
compute the minimum and maximum values of incoming RGBA color values.
See _cmnd(Minmax).
.TP
_const(NORMALIZE)
If enabled,
normal vectors specified with _cmnd(Normal) are scaled to unit length
after transformation. See _cmnd(Normal).
.TP
_const(POINT_SMOOTH)
If enabled,
draw points with proper filtering.
Otherwise,
draw aliased points.
See _cmnd(PointSize).
.TP
_const(POLYGON_OFFSET_FILL)
If enabled, and if the polygon is rendered in
_const(FILL) mode, an offset is added to depth values of a polygon's
fragments before the depth comparison is performed. 
See _cmnd(PolygonOffset). 
.TP
_const(POLYGON_OFFSET_LINE)
If enabled, and if the polygon is rendered in
_const(LINE) mode, an offset is added to depth values of a polygon's
fragments before the depth comparison is performed. See _cmnd(PolygonOffset). 
.TP
_const(POLYGON_OFFSET_POINT)
If enabled, an offset is added to depth values of a polygon's fragments
before the depth comparison is performed, if the polygon is rendered in 
_const(POINT) mode. See _cmnd(PolygonOffset). 
.TP
_const(POLYGON_SMOOTH)
If enabled, draw polygons with proper filtering.
Otherwise, draw aliased polygons. For correct anti-aliased polygons,
an alpha buffer is needed and the polygons must be sorted front to
back. 
.TP
_const(POLYGON_STIPPLE)
If enabled,
use the current polygon stipple pattern when rendering
polygons. See _cmnd(PolygonStipple).
.TP
_const(POST_COLOR_MATRIX_COLOR_TABLE)
If enabled,
preform a color table lookup on RGBA color values after color matrix 
transformation.
See _cmnd(ColorTable).
.TP
_const(POST_CONVOLUTION_COLOR_TABLE)
If enabled,
preform a color table lookup on RGBA color values after convolution.
See _cmnd(ColorTable).
.TP
_const(RESCALE_NORMAL)
If enabled, normal vectors specified with _cmnd(Normal) are scaled to
unit length after transformation. See _cmnd(Normal).
.TP
_const(SEPARABLE_2D)
If enabled, perform a two-dimensional convolution operation using a separable
convolution filter on incoming RGBA color values.
See _cmnd(SeparableFilter2D).
.TP
_const(SCISSOR_TEST)
If enabled,
discard fragments that are outside the scissor rectangle. 
See _cmnd(Scissor).
.TP
_const(STENCIL_TEST)
If enabled,
do stencil testing and update the stencil buffer. 
See _cmnd(StencilFunc) and _cmnd(StencilOp).
.TP
_const(TEXTURE_1D)
If enabled, one-dimensional texturing is performed
(unless two- or three-dimensional texturing is also enabled).
See _cmnd(TexImage1D).
.TP
_const(TEXTURE_2D)
If enabled, two-dimensional texturing is performed
(unless three-dimensional texturing is also enabled). See _cmnd(TexImage2D).
.TP
_const(TEXTURE_3D)
If enabled, three-dimensional texturing is performed. See _cmnd(TexImage3D).
.TP
_const(TEXTURE_GEN_Q)
If enabled,
the \f2q\fP texture coordinate is computed using
the texture generation function defined with _cmnd(TexGen).
Otherwise, the current \f2q\fP texture coordinate is used.
See _cmnd(TexGen).
.TP
_const(TEXTURE_GEN_R)
If enabled,
the \f2r\fP texture coordinate is computed using
the texture generation function defined with _cmnd(TexGen).
Otherwise, the current \f2r\fP texture coordinate is used.
See _cmnd(TexGen).
.TP
_const(TEXTURE_GEN_S)
If enabled,
the \f2s\fP texture coordinate is computed using
the texture generation function defined with _cmnd(TexGen).
Otherwise, the current \f2s\fP texture coordinate is used. 
See _cmnd(TexGen).
.TP
_const(TEXTURE_GEN_T)
If enabled,
the \f2t\fP texture coordinate is computed using
the texture generation function defined with _cmnd(TexGen).
Otherwise, the current \f2t\fP texture coordinate is used.
See _cmnd(TexGen).
.SH NOTES
_const(POLYGON_OFFSET_FILL), _const(POLYGON_OFFSET_LINE),
_const(POLYGON_OFFSET_POINT),
_const(COLOR_LOGIC_OP), and _const(INDEX_LOGIC_OP) are available
only if the GL version is 1.1 or greater. 
.P
_const(RESCALE_NORMAL), and _const(TEXTURE_3D) are available only if the
GL version is 1.2 or greater.
.P
_const(COLOR_TABLE), _const(CONVOLUTION_1D), _const(CONVOLUTION_2D),
_const(HISTOGRAM), _const(MINMAX),
_const(POST_COLOR_MATRIX_COLOR_TABLE),
_const(POST_CONVOLUTION_COLOR_TABLE), and
_const(SEPARABLE_2D) are available only if _arbstring(imaging) is returned
from _cmnd(Get) with an argument of _const(EXTENSIONS).
.P
If _arbstring(multitexture) is supported, _const(TEXTURE_1D),
_const(TEXTURE_2D), _const(TEXTURE_3D), _const(TEXTURE_GEN_S),
_const(TEXTURE_GEN_T), _const(TEXTURE_GEN_R), and _const(TEXTURE_GEN_Q)
enable or disable the respective state for the active texture unit
specified with _cmnd(ActiveTextureARB).
.SH ERRORS
_const(INVALID_ENUM) is generated if _param1 is not one of the values
listed previously.
.P
_const(INVALID_OPERATION) is generated if _cmnd(Enable) or _cmnd(Disable)
is executed between the execution of _cmnd(Begin)
and the corresponding execution of _cmnd(End).
.SH SEE ALSO
_cmnd(ActiveTextureARB),
_cmnd(AlphaFunc),
_cmnd(BlendFunc),
_cmnd(ClipPlane),
_cmnd(ColorMaterial),
_cmnd(CullFace),
_cmnd(DepthFunc),
_cmnd(DepthRange),
_cmnd(EnableClientState),
_cmnd(Fog),
_cmnd(Get),
_cmnd(IsEnabled),
_cmnd(Light),
_cmnd(LightModel),
_cmnd(LineWidth),
_cmnd(LineStipple),
_cmnd(LogicOp),
_cmnd(Map1),
_cmnd(Map2),
_cmnd(Material),
_cmnd(Normal),
_cmnd(PointSize),
_cmnd(PolygonMode),
_cmnd(PolygonOffset),
_cmnd(PolygonStipple),
_cmnd(Scissor),
_cmnd(StencilFunc),
_cmnd(StencilOp),
_cmnd(TexGen),
_cmnd(TexImage1D),
_cmnd(TexImage2D),
_cmnd(TexImage3D)

