_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_ 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)