@end copying
-@defun glAccum
+@deftypefun void glAccum op value
Operate on the accumulation buffer.
@table @asis
between the execution of @code{glBegin} and the corresponding execution
of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glActiveTexture
+@deftypefun void glActiveTexture texture
Select active texture unit.
@table @asis
(@code{GL_MAX_TEXTURE_COORDS} - 1) and
(@code{GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS} - 1).
-@end defun
+@end deftypefun
-@defun glAlphaFunc
+@deftypefun void glAlphaFunc func ref
Specify the alpha test function.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glAreTexturesResident
+@deftypefun GLboolean glAreTexturesResident n textures residences
Determine if textures are loaded in texture memory.
@table @asis
is executed between the execution of @code{glBegin} and the
corresponding execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glArrayElement
+@deftypefun void glArrayElement i
Render a vertex using the specified vertex array element.
@table @asis
name is bound to an enabled array and the buffer object's data store is
currently mapped.
-@end defun
+@end deftypefun
-@defun glAttachShader
+@deftypefun void glAttachShader program shader
Attaches a shader object to a program object.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glBeginQuery
+@deftypefun void glBeginQuery target id
+@deftypefunx void glEndQuery target
Delimit the boundaries of a query object.
@table @asis
@code{glEndQuery} is executed between the execution of @code{glBegin}
and the corresponding execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glBegin
+@deftypefun void glBegin mode
+@deftypefunx void glEnd
Delimit the vertices of a primitive or a group of like primitives.
@table @asis
before the corresponding call to @code{glEnd}, but an error may or may
not be generated.
-@end defun
+@end deftypefun
-@defun glBindAttribLocation
+@deftypefun void glBindAttribLocation program index name
Associates a generic vertex attribute index with a named attribute
variable.
is executed between the execution of @code{glBegin} and the
corresponding execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glBindBuffer
+@deftypefun void glBindBuffer target buffer
Bind a named buffer object.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glBindTexture
+@deftypefun void glBindTexture target texture
Bind a named texture to a texturing target.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glBitmap
+@deftypefun void glBitmap width height xorig yorig xmove ymove bitmap
Draw a bitmap.
@table @asis
between the execution of @code{glBegin} and the corresponding execution
of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glBlendColor
+@deftypefun void glBlendColor red green blue alpha
Set the blend color.
@table @asis
-@end defun
+@end deftypefun
-@defun glBlendEquationSeparate
+@deftypefun void glBlendEquationSeparate modeRGB modeAlpha
Set the RGB blend equation and the alpha blend equation separately.
@table @asis
@code{glBlendEquationSeparate} is executed between the execution of
@code{glBegin} and the corresponding execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glBlendEquation
+@deftypefun void glBlendEquation mode
Specify the equation used for both the RGB blend equation and the Alpha
blend equation.
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glBlendFuncSeparate
+@deftypefun void glBlendFuncSeparate srcRGB dstRGB srcAlpha dstAlpha
Specify pixel arithmetic for RGB and alpha components separately.
@table @asis
is executed between the execution of @code{glBegin} and the
corresponding execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glBlendFunc
+@deftypefun void glBlendFunc sfactor dfactor
Specify pixel arithmetic.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glBufferData
+@deftypefun void glBufferData target size data usage
Creates and initializes a buffer object's data store.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glBufferSubData
+@deftypefun void glBufferSubData target offset size data
Updates a subset of a buffer object's data store.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glCallLists
+@deftypefun void glCallLists n type lists
Execute a list of display lists.
@table @asis
@code{GL_FLOAT}, @code{GL_2_BYTES}, @code{GL_3_BYTES},
@code{GL_4_BYTES}.
-@end defun
+@end deftypefun
-@defun glCallList
+@deftypefun void glCallList list
Execute a display list.
@table @asis
@code{glPushAttrib}, @code{glPopAttrib}, @code{glPushMatrix}, and
@code{glPopMatrix} to preserve GL state across @code{glCallList} calls.
-@end defun
+@end deftypefun
-@defun glClearAccum
+@deftypefun void glClearAccum red green blue alpha
Specify clear values for the accumulation buffer.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glClearColor
+@deftypefun void glClearColor red green blue alpha
Specify clear values for the color buffers.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glClearDepth
+@deftypefun void glClearDepth depth
Specify the clear value for the depth buffer.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glClearIndex
+@deftypefun void glClearIndex c
Specify the clear value for the color index buffers.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glClearStencil
+@deftypefun void glClearStencil s
Specify the clear value for the stencil buffer.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glClear
+@deftypefun void glClear mask
Clear buffers to preset values.
@table @asis
between the execution of @code{glBegin} and the corresponding execution
of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glClientActiveTexture
+@deftypefun void glClientActiveTexture texture
Select active texture unit.
@table @asis
@code{GL_TEXTURE}@r{@var{i}}, where i ranges from 0 to the value of
@code{GL_MAX_TEXTURE_COORDS} - 1.
-@end defun
+@end deftypefun
-@defun glClipPlane
+@deftypefun void glClipPlane plane equation
Specify a plane against which all geometry is clipped.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glColorMask
+@deftypefun void glColorMask red green blue alpha
Enable and disable writing of frame buffer color components.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glColorMaterial
+@deftypefun void glColorMaterial face mode
Cause a material color to track the current color.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glColorPointer
+@deftypefun void glColorPointer size type stride pointer
Define an array of colors.
@table @asis
@code{GL_INVALID_VALUE} is generated if @var{stride} is negative.
-@end defun
+@end deftypefun
-@defun glColorSubTable
+@deftypefun void glColorSubTable target start count format type data
Respecify a portion of a color table.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glColorTableParameter
-Set color lookup table parameters.
-
-@table @asis
-@item @var{target}
-The target color table. Must be @code{GL_COLOR_TABLE},
-@code{GL_POST_CONVOLUTION_COLOR_TABLE}, or
-@code{GL_POST_COLOR_MATRIX_COLOR_TABLE}.
-
-@item @var{pname}
-The symbolic name of a texture color lookup table parameter. Must be one
-of @code{GL_COLOR_TABLE_SCALE} or @code{GL_COLOR_TABLE_BIAS}.
-
-@item @var{params}
-A pointer to an array where the values of the parameters are stored.
-
-@end table
-
-@code{glColorTableParameter} is used to specify the scale factors and
-bias terms applied to color components when they are loaded into a color
-table. @var{target} indicates which color table the scale and bias terms
-apply to; it must be set to @code{GL_COLOR_TABLE},
-@code{GL_POST_CONVOLUTION_COLOR_TABLE}, or
-@code{GL_POST_COLOR_MATRIX_COLOR_TABLE}.
-
-@var{pname} must be @code{GL_COLOR_TABLE_SCALE} to set the scale
-factors. In this case, @var{params} points to an array of four values,
-which are the scale factors for red, green, blue, and alpha, in that
-order.
-
-@var{pname} must be @code{GL_COLOR_TABLE_BIAS} to set the bias terms. In
-this case, @var{params} points to an array of four values, which are the
-bias terms for red, green, blue, and alpha, in that order.
-
-The color tables themselves are specified by calling
-@code{glColorTable}.
-
-@code{GL_INVALID_ENUM} is generated if @var{target} or @var{pname} is
-not an acceptable value.
-
-@code{GL_INVALID_OPERATION} is generated if @code{glColorTableParameter}
-is executed between the execution of @code{glBegin} and the
-corresponding execution of @code{glEnd}.
-
-@end defun
-
-@defun glColorTable
+@deftypefun void glColorTable target internalformat width format type data
Define a color lookup table.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glColor
+@deftypefun void glColor3i red green blue
+@deftypefunx void glColor3d red green blue
+@deftypefunx void glColor3ui red green blue
+@deftypefunx void glColor4i red green blue alpha
+@deftypefunx void glColor4d red green blue alpha
+@deftypefunx void glColor4ui red green blue alpha
Set the current color.
@table @asis
components are clamped to this range before they are interpolated or
written into a color buffer.
-@end defun
+@end deftypefun
-@defun glCompileShader
+@deftypefun void glCompileShader shader
Compiles a shader object.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glCompressedTexImage1D
+@deftypefun void glCompressedTexImage1D target level internalformat width border imageSize data
Specify a one-dimensional texture image in a compressed format.
@table @asis
if @var{data} is not encoded in a manner consistent with the extension
specification defining the internal compression format.
-@end defun
+@end deftypefun
-@defun glCompressedTexImage2D
+@deftypefun void glCompressedTexImage2D target level internalformat width height border imageSize data
Specify a two-dimensional texture image in a compressed format.
@table @asis
if @var{data} is not encoded in a manner consistent with the extension
specification defining the internal compression format.
-@end defun
+@end deftypefun
-@defun glCompressedTexImage3D
+@deftypefun void glCompressedTexImage3D target level internalformat width height depth border imageSize data
Specify a three-dimensional texture image in a compressed format.
@table @asis
if @var{data} is not encoded in a manner consistent with the extension
specification defining the internal compression format.
-@end defun
+@end deftypefun
-@defun glCompressedTexSubImage1D
+@deftypefun void glCompressedTexSubImage1D target level xoffset width format imageSize data
Specify a one-dimensional texture subimage in a compressed format.
@table @asis
if @var{data} is not encoded in a manner consistent with the extension
specification defining the internal compression format.
-@end defun
+@end deftypefun
-@defun glCompressedTexSubImage2D
+@deftypefun void glCompressedTexSubImage2D target level xoffset yoffset width height format imageSize data
Specify a two-dimensional texture subimage in a compressed format.
@table @asis
if @var{data} is not encoded in a manner consistent with the extension
specification defining the internal compression format.
-@end defun
+@end deftypefun
-@defun glCompressedTexSubImage3D
+@deftypefun void glCompressedTexSubImage3D target level xoffset yoffset zoffset width height depth format imageSize data
Specify a three-dimensional texture subimage in a compressed format.
@table @asis
if @var{data} is not encoded in a manner consistent with the extension
specification defining the internal compression format.
-@end defun
+@end deftypefun
-@defun glConvolutionFilter1D
+@deftypefun void glConvolutionFilter1D target internalformat width format type data
Define a one-dimensional convolution filter.
@table @asis
is executed between the execution of @code{glBegin} and the
corresponding execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glConvolutionFilter2D
+@deftypefun void glConvolutionFilter2D target internalformat width height format type data
Define a two-dimensional convolution filter.
@table @asis
is executed between the execution of @code{glBegin} and the
corresponding execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glConvolutionParameter
+@deftypefun void glConvolutionParameterf target pname params
+@deftypefunx void glConvolutionParameteri target pname params
Set convolution parameters.
@table @asis
@code{glConvolutionParameter} is executed between the execution of
@code{glBegin} and the corresponding execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glCopyColorSubTable
+@deftypefun void glCopyColorSubTable target start x y width
Respecify a portion of a color table.
@table @asis
is executed between the execution of @code{glBegin} and the
corresponding execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glCopyColorTable
+@deftypefun void glCopyColorTable target internalformat x y width
Copy pixels into a color table.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glCopyConvolutionFilter1D
+@deftypefun void glCopyConvolutionFilter1D target internalformat x y width
Copy pixels into a one-dimensional convolution filter.
@table @asis
@code{glCopyConvolutionFilter1D} is executed between the execution of
@code{glBegin} and the corresponding execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glCopyConvolutionFilter2D
+@deftypefun void glCopyConvolutionFilter2D target internalformat x y width height
Copy pixels into a two-dimensional convolution filter.
@table @asis
@code{glCopyConvolutionFilter2D} is executed between the execution of
@code{glBegin} and the corresponding execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glCopyPixels
+@deftypefun void glCopyPixels x y width height type
Copy pixels in the frame buffer.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glCopyTexImage1D
+@deftypefun void glCopyTexImage1D target level internalformat x y width border
Copy pixels into a 1D texture image.
@table @asis
@code{GL_DEPTH_COMPONENT24}, or @code{GL_DEPTH_COMPONENT32} and there is
no depth buffer.
-@end defun
+@end deftypefun
-@defun glCopyTexImage2D
+@deftypefun void glCopyTexImage2D target level internalformat x y width height border
Copy pixels into a 2D texture image.
@table @asis
@code{GL_DEPTH_COMPONENT24}, or @code{GL_DEPTH_COMPONENT32} and there is
no depth buffer.
-@end defun
+@end deftypefun
-@defun glCopyTexSubImage1D
+@deftypefun void glCopyTexSubImage1D target level xoffset x y width
Copy a one-dimensional texture subimage.
@table @asis
-@end defun
+@end deftypefun
-@defun glCopyTexSubImage2D
+@deftypefun void glCopyTexSubImage2D target level xoffset yoffset x y width height
Copy a two-dimensional texture subimage.
@table @asis
is executed between the execution of @code{glBegin} and the
corresponding execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glCopyTexSubImage3D
+@deftypefun void glCopyTexSubImage3D target level xoffset yoffset zoffset x y width height
Copy a three-dimensional texture subimage.
@table @asis
is executed between the execution of @code{glBegin} and the
corresponding execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glCreateProgram
+@deftypefun GLuint glCreateProgram
Creates a program object.
@code{glCreateProgram} creates an empty program object and returns a
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glCreateShader
+@deftypefun GLuint glCreateShader shaderType
Creates a shader object.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glCullFace
+@deftypefun void glCullFace mode
Specify whether front- or back-facing facets can be culled.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glDeleteBuffers
+@deftypefun void glDeleteBuffers n buffers
Delete named buffer objects.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glDeleteLists
+@deftypefun void glDeleteLists list range
Delete a contiguous group of display lists.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glDeleteProgram
+@deftypefun void glDeleteProgram program
Deletes a program object.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glDeleteQueries
+@deftypefun void glDeleteQueries n ids
Delete named query objects.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glDeleteShader
+@deftypefun void glDeleteShader shader
Deletes a shader object.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glDeleteTextures
+@deftypefun void glDeleteTextures n textures
Delete named textures.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glDepthFunc
+@deftypefun void glDepthFunc func
Specify the value used for depth buffer comparisons.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glDepthMask
+@deftypefun void glDepthMask flag
Enable or disable writing into the depth buffer.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glDepthRange
+@deftypefun void glDepthRange nearVal farVal
Specify mapping of depth values from normalized device coordinates to
window coordinates.
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glDetachShader
+@deftypefun void glDetachShader program shader
Detaches a shader object from a program object to which it is attached.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glDrawArrays
+@deftypefun void glDrawArrays mode first count
Render primitives from array data.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
@code{glEnd}.
-@end defun
+@end deftypefun
-@defun glDrawBuffers
+@deftypefun void glDrawBuffers n bufs
Specifies a list of color buffers to be drawn into.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glDrawBuffer
+@deftypefun void glDrawBuffer mode
Specify which color buffers are to be drawn into.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glDrawElements
+@deftypefun void glDrawElements mode count type indices
Render primitives from array data.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
@code{glEnd}.
-@end defun
+@end deftypefun
-@defun glDrawPixels
+@deftypefun void glDrawPixels width height format type data
Write a block of pixels to the frame buffer.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glDrawRangeElements
+@deftypefun void glDrawRangeElements mode start end count type indices
Render primitives from array data.
@table @asis
is executed between the execution of @code{glBegin} and the
corresponding @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glEdgeFlagPointer
+@deftypefun void glEdgeFlagPointer stride pointer
Define an array of edge flags.
@table @asis
@code{GL_INVALID_ENUM} is generated if @var{stride} is negative.
-@end defun
+@end deftypefun
-@defun glEdgeFlag
+@deftypefun void glEdgeFlag flag
Flag edges as either boundary or nonboundary.
@table @asis
@code{GL_POLYGON_MODE} is set to @code{GL_POINT} or @code{GL_LINE}. See
@code{glPolygonMode}.
-@end defun
+@end deftypefun
-@defun glEnableClientState
+@deftypefun void glEnableClientState cap
+@deftypefunx void glDisableClientState cap
Enable or disable client-side capability.
@table @asis
may not be generated. If no error is generated, the behavior is
undefined.
-@end defun
+@end deftypefun
-@defun glEnableVertexAttribArray
+@deftypefun void glEnableVertexAttribArray index
+@deftypefunx void glDisableVertexAttribArray index
Enable or disable a generic vertex attribute array.
@table @asis
is executed between the execution of @code{glBegin} and the
corresponding execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glEnable
+@deftypefun void glEnable cap
+@deftypefunx void glDisable cap
Enable or disable server-side GL capabilities.
@table @asis
@code{glDisable} is executed between the execution of @code{glBegin} and
the corresponding execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glEvalCoord
+@deftypefun void glEvalCoord1d u
+@deftypefunx void glEvalCoord2d u v
Evaluate enabled one- and two-dimensional maps.
@table @asis
neither automatic normal generation nor a normal map is enabled, no
normal is generated for @code{glEvalCoord2} commands.
-@end defun
+@end deftypefun
-@defun glEvalMesh
+@deftypefun void glEvalMesh1 mode i1 i2
+@deftypefunx void glEvalMesh2 mode i1 i2 j1 j2
Compute a one- or two-dimensional grid of points or lines.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glEvalPoint
+@deftypefun void glEvalPoint1 i
+@deftypefunx void glEvalPoint2 i j
Generate and evaluate a single point in a mesh.
@table @asis
glEvalCoord2( @r{i·Δ@var{u}+@var{u}_1,j·Δ@var{v}+@var{v}_1} );
@end example
-@end defun
+@end deftypefun
-@defun glFeedbackBuffer
+@deftypefun void glFeedbackBuffer size type buffer
Controls feedback mode.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glFinish
+@deftypefun void glFinish
Block until all GL execution is complete.
@code{glFinish} does not return until the effects of all previously
between the execution of @code{glBegin} and the corresponding execution
of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glFlush
+@deftypefun void glFlush
Force execution of GL commands in finite time.
Different GL implementations buffer commands in several different
between the execution of @code{glBegin} and the corresponding execution
of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glFogCoordPointer
+@deftypefun void glFogCoordPointer type stride pointer
Define an array of fog coordinates.
@table @asis
@code{GL_INVALID_VALUE} is generated if @var{stride} is negative.
-@end defun
+@end deftypefun
-@defun glFogCoord
+@deftypefun void glFogCoordd coord
Set the current fog coordinates.
@table @asis
each vertex and the current raster position. The value specified is
interpolated and used in computing the fog color (see @code{glFog}).
-@end defun
+@end deftypefun
-@defun glFog
+@deftypefun void glFogf pname param
+@deftypefunx void glFogi pname param
Specify fog parameters.
@table @asis
between the execution of @code{glBegin} and the corresponding execution
of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glFrontFace
+@deftypefun void glFrontFace mode
Define front- and back-facing polygons.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glFrustum
+@deftypefun void glFrustum left right bottom top nearVal farVal
Multiply the current matrix by a perspective matrix.
@table @asis
between the execution of @code{glBegin} and the corresponding execution
of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glGenBuffers
+@deftypefun void glGenBuffers n buffers
Generate buffer object names.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glGenLists
+@deftypefun GLuint glGenLists range
Generate a contiguous set of empty display lists.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glGenQueries
+@deftypefun void glGenQueries n ids
Generate query object names.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glGenTextures
+@deftypefun void glGenTextures n textures
Generate texture names.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glGetActiveAttrib
+@deftypefun void glGetActiveAttrib program index bufSize length size type name
Returns information about an active attribute variable for the specified
program object.
@code{GL_INVALID_VALUE} is generated if @var{bufSize} is less than 0.
-@end defun
+@end deftypefun
-@defun glGetActiveUniform
+@deftypefun void glGetActiveUniform program index bufSize length size type name
Returns information about an active uniform variable for the specified
program object.
@code{GL_INVALID_VALUE} is generated if @var{bufSize} is less than 0.
-@end defun
+@end deftypefun
-@defun glGetAttachedShaders
+@deftypefun void glGetAttachedShaders program maxCount count shaders
Returns the handles of the shader objects attached to a program object.
@table @asis
is executed between the execution of @code{glBegin} and the
corresponding execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glGetAttribLocation
+@deftypefun GLint glGetAttribLocation program name
Returns the location of an attribute variable.
@table @asis
is executed between the execution of @code{glBegin} and the
corresponding execution of @code{glEnd}.
-@end defun
-
-@defun glGetBufferParameteriv
-Return parameters of a buffer object.
-
-@table @asis
-@item @var{target}
-Specifies the target buffer object. The symbolic constant must be
-@code{GL_ARRAY_BUFFER}, @code{GL_ELEMENT_ARRAY_BUFFER},
-@code{GL_PIXEL_PACK_BUFFER}, or @code{GL_PIXEL_UNPACK_BUFFER}.
-
-@item @var{value}
-Specifies the symbolic name of a buffer object parameter. Accepted
-values are @code{GL_BUFFER_ACCESS}, @code{GL_BUFFER_MAPPED},
-@code{GL_BUFFER_SIZE}, or @code{GL_BUFFER_USAGE}.
-
-@item @var{data}
-Returns the requested parameter.
-
-@end table
-
-@code{glGetBufferParameteriv} returns in @var{data} a selected parameter
-of the buffer object specified by @var{target}.
-
-@var{value} names a specific buffer object parameter, as follows:
-
-@table @asis
-@item @code{GL_BUFFER_ACCESS}
-@var{params} returns the access policy set while mapping the buffer
-object. The initial value is @code{GL_READ_WRITE}.
-
-@item @code{GL_BUFFER_MAPPED}
-@var{params} returns a flag indicating whether the buffer object is
-currently mapped. The initial value is @code{GL_FALSE}.
-
-@item @code{GL_BUFFER_SIZE}
-@var{params} returns the size of the buffer object, measured in bytes.
-The initial value is 0.
-
-@item @code{GL_BUFFER_USAGE}
-@var{params} returns the buffer object's usage pattern. The initial
-value is @code{GL_STATIC_DRAW}.
-
-@end table
-
-@code{GL_INVALID_ENUM} is generated if @var{target} or @var{value} is
-not an accepted value.
-
-@code{GL_INVALID_OPERATION} is generated if the reserved buffer object
-name 0 is bound to @var{target}.
-
-@code{GL_INVALID_OPERATION} is generated if
-@code{glGetBufferParameteriv} is executed between the execution of
-@code{glBegin} and the corresponding execution of @code{glEnd}.
-
-@end defun
-
-@defun glGetBufferPointerv
-Return the pointer to a mapped buffer object's data store.
-
-@table @asis
-@item @var{target}
-Specifies the target buffer object. The symbolic constant must be
-@code{GL_ARRAY_BUFFER}, @code{GL_ELEMENT_ARRAY_BUFFER},
-@code{GL_PIXEL_PACK_BUFFER}, or @code{GL_PIXEL_UNPACK_BUFFER}.
-
-@item @var{pname}
-Specifies the pointer to be returned. The symbolic constant must be
-@code{GL_BUFFER_MAP_POINTER}.
-
-@item @var{params}
-Returns the pointer value specified by @var{pname}.
-
-@end table
-
-@code{glGetBufferPointerv} returns pointer information. @var{pname} is a
-symbolic constant indicating the pointer to be returned, which must be
-@code{GL_BUFFER_MAP_POINTER}, the pointer to which the buffer object's
-data store is mapped. If the data store is not currently mapped,
-@code{NULL} is returned. @var{params} is a pointer to a location in
-which to place the returned pointer value.
-
-@code{GL_INVALID_ENUM} is generated if @var{target} or @var{pname} is
-not an accepted value.
-
-@code{GL_INVALID_OPERATION} is generated if the reserved buffer object
-name 0 is bound to @var{target}.
-
-@code{GL_INVALID_OPERATION} is generated if @code{glGetBufferPointerv}
-is executed between the execution of @code{glBegin} and the
-corresponding execution of @code{glEnd}.
-
-@end defun
+@end deftypefun
-@defun glGetBufferSubData
+@deftypefun void glGetBufferSubData target offset size data
Returns a subset of a buffer object's data store.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glGetClipPlane
+@deftypefun void glGetClipPlane plane equation
Return the coefficients of the specified clipping plane.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
-
-@defun glGetColorTableParameter
-Get color lookup table parameters.
-
-@table @asis
-@item @var{target}
-The target color table. Must be @code{GL_COLOR_TABLE},
-@code{GL_POST_CONVOLUTION_COLOR_TABLE},
-@code{GL_POST_COLOR_MATRIX_COLOR_TABLE}, @code{GL_PROXY_COLOR_TABLE},
-@code{GL_PROXY_POST_CONVOLUTION_COLOR_TABLE}, or
-@code{GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE}.
-
-@item @var{pname}
-The symbolic name of a color lookup table parameter. Must be one of
-@code{GL_COLOR_TABLE_BIAS}, @code{GL_COLOR_TABLE_SCALE},
-@code{GL_COLOR_TABLE_FORMAT}, @code{GL_COLOR_TABLE_WIDTH},
-@code{GL_COLOR_TABLE_RED_SIZE}, @code{GL_COLOR_TABLE_GREEN_SIZE},
-@code{GL_COLOR_TABLE_BLUE_SIZE}, @code{GL_COLOR_TABLE_ALPHA_SIZE},
-@code{GL_COLOR_TABLE_LUMINANCE_SIZE}, or
-@code{GL_COLOR_TABLE_INTENSITY_SIZE}.
-
-@item @var{params}
-A pointer to an array where the values of the parameter will be stored.
-
-@end table
-
-Returns parameters specific to color table @var{target}.
+@end deftypefun
-When @var{pname} is set to @code{GL_COLOR_TABLE_SCALE} or
-@code{GL_COLOR_TABLE_BIAS}, @code{glGetColorTableParameter} returns the
-color table scale or bias parameters for the table specified by
-@var{target}. For these queries, @var{target} must be set to
-@code{GL_COLOR_TABLE}, @code{GL_POST_CONVOLUTION_COLOR_TABLE}, or
-@code{GL_POST_COLOR_MATRIX_COLOR_TABLE} and @var{params} points to an
-array of four elements, which receive the scale or bias factors for red,
-green, blue, and alpha, in that order.
-
-@code{glGetColorTableParameter} can also be used to retrieve the format
-and size parameters for a color table. For these queries, set
-@var{target} to either the color table target or the proxy color table
-target. The format and size parameters are set by @code{glColorTable}.
-
-The following table lists the format and size parameters that may be
-queried. For each symbolic constant listed below for @var{pname},
-@var{params} must point to an array of the given length and receive the
-values indicated.
-
-
-
-@table @asis
-@item @strong{Parameter}
-@strong{N}, @strong{Meaning}
-
-@item @code{GL_COLOR_TABLE_FORMAT}
-1 , Internal format (e.g., @code{GL_RGBA})
-
-@item @code{GL_COLOR_TABLE_WIDTH}
-1 , Number of elements in table
-
-@item @code{GL_COLOR_TABLE_RED_SIZE}
-1 , Size of red component, in bits
-
-@item @code{GL_COLOR_TABLE_GREEN_SIZE}
-1 , Size of green component
-
-@item @code{GL_COLOR_TABLE_BLUE_SIZE}
-1 , Size of blue component
-
-@item @code{GL_COLOR_TABLE_ALPHA_SIZE}
-1 , Size of alpha component
-
-@item @code{GL_COLOR_TABLE_LUMINANCE_SIZE}
-1 , Size of luminance component
-
-@item @code{GL_COLOR_TABLE_INTENSITY_SIZE}
-1 , Size of intensity component
-
-@end table
-
-
-
-@code{GL_INVALID_ENUM} is generated if @var{target} or @var{pname} is
-not an acceptable value.
-
-@code{GL_INVALID_OPERATION} is generated if
-@code{glGetColorTableParameter} is executed between the execution of
-@code{glBegin} and the corresponding execution of @code{glEnd}.
-
-@end defun
-
-@defun glGetColorTable
+@deftypefun void glGetColorTable target format type table
Retrieve contents of a color lookup table.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glGetCompressedTexImage
+@deftypefun void glGetCompressedTexImage target lod img
Return a compressed texture image.
@table @asis
@code{glGetCompressedTexImage} is executed between the execution of
@code{glBegin} and the corresponding execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glGetConvolutionFilter
+@deftypefun void glGetConvolutionFilter target format type image
Get current 1D or 2D convolution filter kernel.
@table @asis
@code{glGetConvolutionFilter} is executed between the execution of
@code{glBegin} and the corresponding execution of @code{glEnd}.
-@end defun
-
-@defun glGetConvolutionParameter
-Get convolution parameters.
-
-@table @asis
-@item @var{target}
-The filter whose parameters are to be retrieved. Must be one of
-@code{GL_CONVOLUTION_1D}, @code{GL_CONVOLUTION_2D}, or
-@code{GL_SEPARABLE_2D}.
-
-@item @var{pname}
-The parameter to be retrieved. Must be one of
-@code{GL_CONVOLUTION_BORDER_MODE}, @code{GL_CONVOLUTION_BORDER_COLOR},
-@code{GL_CONVOLUTION_FILTER_SCALE}, @code{GL_CONVOLUTION_FILTER_BIAS},
-@code{GL_CONVOLUTION_FORMAT}, @code{GL_CONVOLUTION_WIDTH},
-@code{GL_CONVOLUTION_HEIGHT}, @code{GL_MAX_CONVOLUTION_WIDTH}, or
-@code{GL_MAX_CONVOLUTION_HEIGHT}.
-
-@item @var{params}
-Pointer to storage for the parameters to be retrieved.
-
-@end table
-
-@code{glGetConvolutionParameter} retrieves convolution parameters.
-@var{target} determines which convolution filter is queried. @var{pname}
-determines which parameter is returned:
-
-@table @asis
-@item @code{GL_CONVOLUTION_BORDER_MODE}
-
-
-The convolution border mode. See @code{glConvolutionParameter} for a
-list of border modes.
-
-@item @code{GL_CONVOLUTION_BORDER_COLOR}
-
-
-The current convolution border color. @var{params} must be a pointer to
-an array of four elements, which will receive the red, green, blue, and
-alpha border colors.
-
-@item @code{GL_CONVOLUTION_FILTER_SCALE}
-
-
-The current filter scale factors. @var{params} must be a pointer to an
-array of four elements, which will receive the red, green, blue, and
-alpha filter scale factors in that order.
-
-@item @code{GL_CONVOLUTION_FILTER_BIAS}
-
-
-The current filter bias factors. @var{params} must be a pointer to an
-array of four elements, which will receive the red, green, blue, and
-alpha filter bias terms in that order.
-
-@item @code{GL_CONVOLUTION_FORMAT}
-
-
-The current internal format. See @code{glConvolutionFilter1D},
-@code{glConvolutionFilter2D}, and @code{glSeparableFilter2D} for lists
-of allowable formats.
-
-@item @code{GL_CONVOLUTION_WIDTH}
-
-
-The current filter image width.
-
-@item @code{GL_CONVOLUTION_HEIGHT}
-
-
-The current filter image height.
-
-@item @code{GL_MAX_CONVOLUTION_WIDTH}
-
-
-The maximum acceptable filter image width.
-
-@item @code{GL_MAX_CONVOLUTION_HEIGHT}
-
-
-The maximum acceptable filter image height.
-
-@end table
-
-@code{GL_INVALID_ENUM} is generated if @var{target} is not one of the
-allowable values.
-
-@code{GL_INVALID_ENUM} is generated if @var{pname} is not one of the
-allowable values.
-
-@code{GL_INVALID_ENUM} is generated if @var{target} is
-@code{GL_CONVOLUTION_1D} and @var{pname} is @code{GL_CONVOLUTION_HEIGHT}
-or @code{GL_MAX_CONVOLUTION_HEIGHT}.
-
-@code{GL_INVALID_OPERATION} is generated if
-@code{glGetConvolutionParameter} is executed between the execution of
-@code{glBegin} and the corresponding execution of @code{glEnd}.
-
-@end defun
+@end deftypefun
-@defun glGetError
+@deftypefun GLenum glGetError
Return error information.
@code{glGetError} returns the value of the error flag. Each detectable
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}. In this case, @code{glGetError} returns 0.
-@end defun
-
-@defun glGetHistogramParameter
-Get histogram parameters.
-
-@table @asis
-@item @var{target}
-Must be one of @code{GL_HISTOGRAM} or @code{GL_PROXY_HISTOGRAM}.
-
-@item @var{pname}
-The name of the parameter to be retrieved. Must be one of
-@code{GL_HISTOGRAM_WIDTH}, @code{GL_HISTOGRAM_FORMAT},
-@code{GL_HISTOGRAM_RED_SIZE}, @code{GL_HISTOGRAM_GREEN_SIZE},
-@code{GL_HISTOGRAM_BLUE_SIZE}, @code{GL_HISTOGRAM_ALPHA_SIZE},
-@code{GL_HISTOGRAM_LUMINANCE_SIZE}, or @code{GL_HISTOGRAM_SINK}.
-
-@item @var{params}
-Pointer to storage for the returned values.
-
-@end table
-
-@code{glGetHistogramParameter} is used to query parameter values for the
-current histogram or for a proxy. The histogram state information may be
-queried by calling @code{glGetHistogramParameter} with a @var{target} of
-@code{GL_HISTOGRAM} (to obtain information for the current histogram
-table) or @code{GL_PROXY_HISTOGRAM} (to obtain information from the most
-recent proxy request) and one of the following values for the
-@var{pname} argument:
-
-
-
-@table @asis
-@item @strong{Parameter}
-@strong{Description}
-
-@item @code{GL_HISTOGRAM_WIDTH}
-Histogram table width
-
-@item @code{GL_HISTOGRAM_FORMAT}
-Internal format
-
-@item @code{GL_HISTOGRAM_RED_SIZE}
-Red component counter size, in bits
-
-@item @code{GL_HISTOGRAM_GREEN_SIZE}
-Green component counter size, in bits
-
-@item @code{GL_HISTOGRAM_BLUE_SIZE}
-Blue component counter size, in bits
-
-@item @code{GL_HISTOGRAM_ALPHA_SIZE}
-Alpha component counter size, in bits
-
-@item @code{GL_HISTOGRAM_LUMINANCE_SIZE}
-Luminance component counter size, in bits
-
-@item @code{GL_HISTOGRAM_SINK}
-Value of the @var{sink} parameter
-
-@end table
-
-
-
-@code{GL_INVALID_ENUM} is generated if @var{target} is not one of the
-allowable values.
-
-@code{GL_INVALID_ENUM} is generated if @var{pname} is not one of the
-allowable values.
-
-@code{GL_INVALID_OPERATION} is generated if
-@code{glGetHistogramParameter} is executed between the execution of
-@code{glBegin} and the corresponding execution of @code{glEnd}.
-
-@end defun
+@end deftypefun
-@defun glGetHistogram
+@deftypefun void glGetHistogram target reset format type values
Get histogram table.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glGetLight
-Return light source parameter values.
+@deftypefun void glGetMinmax target reset format types values
+Get minimum and maximum pixel values.
@table @asis
-@item @var{light}
-Specifies a light source. The number of possible lights depends on the
-implementation, but at least eight lights are supported. They are
-identified by symbolic names of the form @code{GL_LIGHT}@r{@var{i}}
-where @r{@var{i}} ranges from 0 to the value of @code{GL_MAX_LIGHTS} -
-1.
-
-@item @var{pname}
-Specifies a light source parameter for @var{light}. Accepted symbolic
-names are @code{GL_AMBIENT}, @code{GL_DIFFUSE}, @code{GL_SPECULAR},
-@code{GL_POSITION}, @code{GL_SPOT_DIRECTION}, @code{GL_SPOT_EXPONENT},
-@code{GL_SPOT_CUTOFF}, @code{GL_CONSTANT_ATTENUATION},
-@code{GL_LINEAR_ATTENUATION}, and @code{GL_QUADRATIC_ATTENUATION}.
+@item @var{target}
+Must be @code{GL_MINMAX}.
-@item @var{params}
-Returns the requested data.
+@item @var{reset}
+If @code{GL_TRUE}, all entries in the minmax table that are actually
+returned are reset to their initial values. (Other entries are
+unaltered.) If @code{GL_FALSE}, the minmax table is unaltered.
-@end table
+@item @var{format}
+The format of the data to be returned in @var{values}. Must be one of
+@code{GL_RED}, @code{GL_GREEN}, @code{GL_BLUE}, @code{GL_ALPHA},
+@code{GL_RGB}, @code{GL_BGR}, @code{GL_RGBA}, @code{GL_BGRA},
+@code{GL_LUMINANCE}, or @code{GL_LUMINANCE_ALPHA}.
-@code{glGetLight} returns in @var{params} the value or values of a light
-source parameter. @var{light} names the light and is a symbolic name of
-the form @code{GL_LIGHT}@r{@var{i}} where i ranges from 0 to the value
-of @code{GL_MAX_LIGHTS} - 1. @code{GL_MAX_LIGHTS} is an implementation
-dependent constant that is greater than or equal to eight. @var{pname}
-specifies one of ten light source parameters, again by symbolic name.
+@item @var{types}
+The type of the data to be returned in @var{values}. Symbolic constants
+@code{GL_UNSIGNED_BYTE}, @code{GL_BYTE}, @code{GL_BITMAP},
+@code{GL_UNSIGNED_SHORT}, @code{GL_SHORT}, @code{GL_UNSIGNED_INT},
+@code{GL_INT}, @code{GL_FLOAT}, @code{GL_UNSIGNED_BYTE_3_3_2},
+@code{GL_UNSIGNED_BYTE_2_3_3_REV}, @code{GL_UNSIGNED_SHORT_5_6_5},
+@code{GL_UNSIGNED_SHORT_5_6_5_REV}, @code{GL_UNSIGNED_SHORT_4_4_4_4},
+@code{GL_UNSIGNED_SHORT_4_4_4_4_REV}, @code{GL_UNSIGNED_SHORT_5_5_5_1},
+@code{GL_UNSIGNED_SHORT_1_5_5_5_REV}, @code{GL_UNSIGNED_INT_8_8_8_8},
+@code{GL_UNSIGNED_INT_8_8_8_8_REV}, @code{GL_UNSIGNED_INT_10_10_10_2},
+and @code{GL_UNSIGNED_INT_2_10_10_10_REV} are accepted.
-The following parameters are defined:
+@item @var{values}
+A pointer to storage for the returned values.
-@table @asis
-@item @code{GL_AMBIENT}
-@var{params} returns four integer or floating-point values representing
-the ambient intensity of the light source. Integer values, when
-requested, are linearly mapped from the internal floating-point
-representation such that 1.0 maps to the most positive representable
-integer value, and @r{-1.0} maps to the most negative representable
-integer value. If the internal value is outside the range @r{[-1,1]},
-the corresponding integer return value is undefined. The initial value
-is (0, 0, 0, 1).
+@end table
-@item @code{GL_DIFFUSE}
-@var{params} returns four integer or floating-point values representing
-the diffuse intensity of the light source. Integer values, when
-requested, are linearly mapped from the internal floating-point
-representation such that 1.0 maps to the most positive representable
-integer value, and @r{-1.0} maps to the most negative representable
-integer value. If the internal value is outside the range @r{[-1,1]},
-the corresponding integer return value is undefined. The initial value
-for @code{GL_LIGHT0} is (1, 1, 1, 1); for other lights, the initial
-value is (0, 0, 0, 0).
-
-@item @code{GL_SPECULAR}
-@var{params} returns four integer or floating-point values representing
-the specular intensity of the light source. Integer values, when
-requested, are linearly mapped from the internal floating-point
-representation such that 1.0 maps to the most positive representable
-integer value, and @r{-1.0} maps to the most negative representable
-integer value. If the internal value is outside the range @r{[-1,1]},
-the corresponding integer return value is undefined. The initial value
-for @code{GL_LIGHT0} is (1, 1, 1, 1); for other lights, the initial
-value is (0, 0, 0, 0).
-
-@item @code{GL_POSITION}
-@var{params} returns four integer or floating-point values representing
-the position of the light source. Integer values, when requested, are
-computed by rounding the internal floating-point values to the nearest
-integer value. The returned values are those maintained in eye
-coordinates. They will not be equal to the values specified using
-@code{glLight}, unless the modelview matrix was identity at the time
-@code{glLight} was called. The initial value is (0, 0, 1, 0).
-
-@item @code{GL_SPOT_DIRECTION}
-@var{params} returns three integer or floating-point values representing
-the direction of the light source. Integer values, when requested, are
-computed by rounding the internal floating-point values to the nearest
-integer value. The returned values are those maintained in eye
-coordinates. They will not be equal to the values specified using
-@code{glLight}, unless the modelview matrix was identity at the time
-@code{glLight} was called. Although spot direction is normalized before
-being used in the lighting equation, the returned values are the
-transformed versions of the specified values prior to normalization. The
-initial value is @r{(0,0-1)}.
-
-@item @code{GL_SPOT_EXPONENT}
-@var{params} returns a single integer or floating-point value
-representing the spot exponent of the light. An integer value, when
-requested, is computed by rounding the internal floating-point
-representation to the nearest integer. The initial value is 0.
-
-@item @code{GL_SPOT_CUTOFF}
-@var{params} returns a single integer or floating-point value
-representing the spot cutoff angle of the light. An integer value, when
-requested, is computed by rounding the internal floating-point
-representation to the nearest integer. The initial value is 180.
-
-@item @code{GL_CONSTANT_ATTENUATION}
-@var{params} returns a single integer or floating-point value
-representing the constant (not distance-related) attenuation of the
-light. An integer value, when requested, is computed by rounding the
-internal floating-point representation to the nearest integer. The
-initial value is 1.
-
-@item @code{GL_LINEAR_ATTENUATION}
-@var{params} returns a single integer or floating-point value
-representing the linear attenuation of the light. An integer value, when
-requested, is computed by rounding the internal floating-point
-representation to the nearest integer. The initial value is 0.
-
-@item @code{GL_QUADRATIC_ATTENUATION}
-@var{params} returns a single integer or floating-point value
-representing the quadratic attenuation of the light. An integer value,
-when requested, is computed by rounding the internal floating-point
-representation to the nearest integer. The initial value is 0.
-
-@end table
-
-@code{GL_INVALID_ENUM} is generated if @var{light} or @var{pname} is not
-an accepted value.
-
-@code{GL_INVALID_OPERATION} is generated if @code{glGetLight} is
-executed between the execution of @code{glBegin} and the corresponding
-execution of @code{glEnd}.
-
-@end defun
-
-@defun glGetMap
-Return evaluator parameters.
-
-@table @asis
-@item @var{target}
-Specifies the symbolic name of a map. Accepted values are
-@code{GL_MAP1_COLOR_4}, @code{GL_MAP1_INDEX}, @code{GL_MAP1_NORMAL},
-@code{GL_MAP1_TEXTURE_COORD_1}, @code{GL_MAP1_TEXTURE_COORD_2},
-@code{GL_MAP1_TEXTURE_COORD_3}, @code{GL_MAP1_TEXTURE_COORD_4},
-@code{GL_MAP1_VERTEX_3}, @code{GL_MAP1_VERTEX_4},
-@code{GL_MAP2_COLOR_4}, @code{GL_MAP2_INDEX}, @code{GL_MAP2_NORMAL},
-@code{GL_MAP2_TEXTURE_COORD_1}, @code{GL_MAP2_TEXTURE_COORD_2},
-@code{GL_MAP2_TEXTURE_COORD_3}, @code{GL_MAP2_TEXTURE_COORD_4},
-@code{GL_MAP2_VERTEX_3}, and @code{GL_MAP2_VERTEX_4}.
-
-@item @var{query}
-Specifies which parameter to return. Symbolic names @code{GL_COEFF},
-@code{GL_ORDER}, and @code{GL_DOMAIN} are accepted.
-
-@item @var{v}
-Returns the requested data.
-
-@end table
-
-@code{glMap1} and @code{glMap2} define evaluators. @code{glGetMap}
-returns evaluator parameters. @var{target} chooses a map, @var{query}
-selects a specific parameter, and @var{v} points to storage where the
-values will be returned.
-
-The acceptable values for the @var{target} parameter are described in
-the @code{glMap1} and @code{glMap2} reference pages.
-
-@var{query} can assume the following values:
-
-@table @asis
-@item @code{GL_COEFF}
-@var{v} returns the control points for the evaluator function.
-One-dimensional evaluators return @r{@var{order}} control points, and
-two-dimensional evaluators return @r{@var{uorder}×@var{vorder}} control
-points. Each control point consists of one, two, three, or four integer,
-single-precision floating-point, or double-precision floating-point
-values, depending on the type of the evaluator. The GL returns
-two-dimensional control points in row-major order, incrementing the
-@r{@var{uorder}} index quickly and the @r{@var{vorder}} index after each
-row. Integer values, when requested, are computed by rounding the
-internal floating-point values to the nearest integer values.
-
-@item @code{GL_ORDER}
-@var{v} returns the order of the evaluator function. One-dimensional
-evaluators return a single value, @r{@var{order}}. The initial value is
-1. Two-dimensional evaluators return two values, @r{@var{uorder}} and
-@r{@var{vorder}}. The initial value is 1,1.
-
-@item @code{GL_DOMAIN}
-@var{v} returns the linear @r{@var{u}} and @r{@var{v}} mapping
-parameters. One-dimensional evaluators return two values, @r{@var{u1}}
-and @r{@var{u2}}, as specified by @code{glMap1}. Two-dimensional
-evaluators return four values (@r{@var{u1}}, @r{@var{u2}}, @r{@var{v1}},
-and @r{@var{v2}}) as specified by @code{glMap2}. Integer values, when
-requested, are computed by rounding the internal floating-point values
-to the nearest integer values.
-
-@end table
-
-@code{GL_INVALID_ENUM} is generated if either @var{target} or
-@var{query} is not an accepted value.
-
-@code{GL_INVALID_OPERATION} is generated if @code{glGetMap} is executed
-between the execution of @code{glBegin} and the corresponding execution
-of @code{glEnd}.
-
-@end defun
-
-@defun glGetMaterial
-Return material parameters.
-
-@table @asis
-@item @var{face}
-Specifies which of the two materials is being queried. @code{GL_FRONT}
-or @code{GL_BACK} are accepted, representing the front and back
-materials, respectively.
-
-@item @var{pname}
-Specifies the material parameter to return. @code{GL_AMBIENT},
-@code{GL_DIFFUSE}, @code{GL_SPECULAR}, @code{GL_EMISSION},
-@code{GL_SHININESS}, and @code{GL_COLOR_INDEXES} are accepted.
-
-@item @var{params}
-Returns the requested data.
-
-@end table
-
-@code{glGetMaterial} returns in @var{params} the value or values of
-parameter @var{pname} of material @var{face}. Six parameters are
-defined:
-
-@table @asis
-@item @code{GL_AMBIENT}
-@var{params} returns four integer or floating-point values representing
-the ambient reflectance of the material. Integer values, when requested,
-are linearly mapped from the internal floating-point representation such
-that 1.0 maps to the most positive representable integer value, and
-@r{-1.0} maps to the most negative representable integer value. If the
-internal value is outside the range @r{[-1,1]}, the corresponding
-integer return value is undefined. The initial value is (0.2, 0.2, 0.2,
-1.0)
-
-@item @code{GL_DIFFUSE}
-@var{params} returns four integer or floating-point values representing
-the diffuse reflectance of the material. Integer values, when requested,
-are linearly mapped from the internal floating-point representation such
-that 1.0 maps to the most positive representable integer value, and
-@r{-1.0} maps to the most negative representable integer value. If the
-internal value is outside the range @r{[-1,1]}, the corresponding
-integer return value is undefined. The initial value is (0.8, 0.8, 0.8,
-1.0).
-
-@item @code{GL_SPECULAR}
-@var{params} returns four integer or floating-point values representing
-the specular reflectance of the material. Integer values, when
-requested, are linearly mapped from the internal floating-point
-representation such that 1.0 maps to the most positive representable
-integer value, and @r{-1.0} maps to the most negative representable
-integer value. If the internal value is outside the range @r{[-1,1]},
-the corresponding integer return value is undefined. The initial value
-is (0, 0, 0, 1).
-
-@item @code{GL_EMISSION}
-@var{params} returns four integer or floating-point values representing
-the emitted light intensity of the material. Integer values, when
-requested, are linearly mapped from the internal floating-point
-representation such that 1.0 maps to the most positive representable
-integer value, and @r{-1.0} maps to the most negative representable
-integer value. If the internal value is outside the range @r{[-1,1]},
-the corresponding integer return value is undefined. The initial value
-is (0, 0, 0, 1).
-
-@item @code{GL_SHININESS}
-@var{params} returns one integer or floating-point value representing
-the specular exponent of the material. Integer values, when requested,
-are computed by rounding the internal floating-point value to the
-nearest integer value. The initial value is 0.
-
-@item @code{GL_COLOR_INDEXES}
-@var{params} returns three integer or floating-point values representing
-the ambient, diffuse, and specular indices of the material. These
-indices are used only for color index lighting. (All the other
-parameters are used only for RGBA lighting.) Integer values, when
-requested, are computed by rounding the internal floating-point values
-to the nearest integer values.
-
-@end table
-
-@code{GL_INVALID_ENUM} is generated if @var{face} or @var{pname} is not
-an accepted value.
-
-@code{GL_INVALID_OPERATION} is generated if @code{glGetMaterial} is
-executed between the execution of @code{glBegin} and the corresponding
-execution of @code{glEnd}.
-
-@end defun
-
-@defun glGetMinmaxParameter
-Get minmax parameters.
-
-@table @asis
-@item @var{target}
-Must be @code{GL_MINMAX}.
-
-@item @var{pname}
-The parameter to be retrieved. Must be one of @code{GL_MINMAX_FORMAT} or
-@code{GL_MINMAX_SINK}.
-
-@item @var{params}
-A pointer to storage for the retrieved parameters.
-
-@end table
-
-@code{glGetMinmaxParameter} retrieves parameters for the current minmax
-table by setting @var{pname} to one of the following values:
-
-
-
-@table @asis
-@item @strong{Parameter}
-@strong{Description}
-
-@item @code{GL_MINMAX_FORMAT}
-Internal format of minmax table
-
-@item @code{GL_MINMAX_SINK}
-Value of the @var{sink} parameter
-
-@end table
-
-
-
-@code{GL_INVALID_ENUM} is generated if @var{target} is not
-@code{GL_MINMAX}.
-
-@code{GL_INVALID_ENUM} is generated if @var{pname} is not one of the
-allowable values.
-
-@code{GL_INVALID_OPERATION} is generated if @code{glGetMinmaxParameter}
-is executed between the execution of @code{glBegin} and the
-corresponding execution of @code{glEnd}.
-
-@end defun
-
-@defun glGetMinmax
-Get minimum and maximum pixel values.
-
-@table @asis
-@item @var{target}
-Must be @code{GL_MINMAX}.
-
-@item @var{reset}
-If @code{GL_TRUE}, all entries in the minmax table that are actually
-returned are reset to their initial values. (Other entries are
-unaltered.) If @code{GL_FALSE}, the minmax table is unaltered.
-
-@item @var{format}
-The format of the data to be returned in @var{values}. Must be one of
-@code{GL_RED}, @code{GL_GREEN}, @code{GL_BLUE}, @code{GL_ALPHA},
-@code{GL_RGB}, @code{GL_BGR}, @code{GL_RGBA}, @code{GL_BGRA},
-@code{GL_LUMINANCE}, or @code{GL_LUMINANCE_ALPHA}.
-
-@item @var{types}
-The type of the data to be returned in @var{values}. Symbolic constants
-@code{GL_UNSIGNED_BYTE}, @code{GL_BYTE}, @code{GL_BITMAP},
-@code{GL_UNSIGNED_SHORT}, @code{GL_SHORT}, @code{GL_UNSIGNED_INT},
-@code{GL_INT}, @code{GL_FLOAT}, @code{GL_UNSIGNED_BYTE_3_3_2},
-@code{GL_UNSIGNED_BYTE_2_3_3_REV}, @code{GL_UNSIGNED_SHORT_5_6_5},
-@code{GL_UNSIGNED_SHORT_5_6_5_REV}, @code{GL_UNSIGNED_SHORT_4_4_4_4},
-@code{GL_UNSIGNED_SHORT_4_4_4_4_REV}, @code{GL_UNSIGNED_SHORT_5_5_5_1},
-@code{GL_UNSIGNED_SHORT_1_5_5_5_REV}, @code{GL_UNSIGNED_INT_8_8_8_8},
-@code{GL_UNSIGNED_INT_8_8_8_8_REV}, @code{GL_UNSIGNED_INT_10_10_10_2},
-and @code{GL_UNSIGNED_INT_2_10_10_10_REV} are accepted.
-
-@item @var{values}
-A pointer to storage for the returned values.
-
-@end table
-
-@code{glGetMinmax} returns the accumulated minimum and maximum pixel
-values (computed on a per-component basis) in a one-dimensional image of
-width 2. The first set of return values are the minima, and the second
-set of return values are the maxima. The format of the return values is
-determined by @var{format}, and their type is determined by @var{types}.
+@code{glGetMinmax} returns the accumulated minimum and maximum pixel
+values (computed on a per-component basis) in a one-dimensional image of
+width 2. The first set of return values are the minima, and the second
+set of return values are the maxima. The format of the return values is
+determined by @var{format}, and their type is determined by @var{types}.
If a non-zero named buffer object is bound to the
@code{GL_PIXEL_PACK_BUFFER} target (see @code{glBindBuffer}) while
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
-
-@defun glGetPixelMap
-Return the specified pixel map.
-
-@table @asis
-@item @var{map}
-Specifies the name of the pixel map to return. Accepted values are
-@code{GL_PIXEL_MAP_I_TO_I}, @code{GL_PIXEL_MAP_S_TO_S},
-@code{GL_PIXEL_MAP_I_TO_R}, @code{GL_PIXEL_MAP_I_TO_G},
-@code{GL_PIXEL_MAP_I_TO_B}, @code{GL_PIXEL_MAP_I_TO_A},
-@code{GL_PIXEL_MAP_R_TO_R}, @code{GL_PIXEL_MAP_G_TO_G},
-@code{GL_PIXEL_MAP_B_TO_B}, and @code{GL_PIXEL_MAP_A_TO_A}.
-
-@item @var{data}
-Returns the pixel map contents.
-
-@end table
-
-See the @code{glPixelMap} reference page for a description of the
-acceptable values for the @var{map} parameter. @code{glGetPixelMap}
-returns in @var{data} the contents of the pixel map specified in
-@var{map}. Pixel maps are used during the execution of
-@code{glReadPixels}, @code{glDrawPixels}, @code{glCopyPixels},
-@code{glTexImage1D}, @code{glTexImage2D}, @code{glTexImage3D},
-@code{glTexSubImage1D}, @code{glTexSubImage2D}, @code{glTexSubImage3D},
-@code{glCopyTexImage1D}, @code{glCopyTexImage2D},
-@code{glCopyTexSubImage1D}, @code{glCopyTexSubImage2D}, and
-@code{glCopyTexSubImage3D}. to map color indices, stencil indices, color
-components, and depth components to other values.
-
-If a non-zero named buffer object is bound to the
-@code{GL_PIXEL_PACK_BUFFER} target (see @code{glBindBuffer}) while a
-pixel map is requested, @var{data} is treated as a byte offset into the
-buffer object's data store.
-
-Unsigned integer values, if requested, are linearly mapped from the
-internal fixed or floating-point representation such that 1.0 maps to
-the largest representable integer value, and 0.0 maps to 0. Return
-unsigned integer values are undefined if the map value was not in the
-range [0,1].
-
-To determine the required size of @var{map}, call @code{glGet} with the
-appropriate symbolic constant.
-
-@code{GL_INVALID_ENUM} is generated if @var{map} is not an accepted
-value.
-
-@code{GL_INVALID_OPERATION} is generated if a non-zero buffer object
-name is bound to the @code{GL_PIXEL_PACK_BUFFER} target and the buffer
-object's data store is currently mapped.
-
-@code{GL_INVALID_OPERATION} is generated if a non-zero buffer object
-name is bound to the @code{GL_PIXEL_PACK_BUFFER} target and the data
-would be packed to the buffer object such that the memory writes
-required would exceed the data store size.
-
-@code{GL_INVALID_OPERATION} is generated by @code{glGetPixelMapfv} if a
-non-zero buffer object name is bound to the @code{GL_PIXEL_PACK_BUFFER}
-target and @var{data} is not evenly divisible into the number of bytes
-needed to store in memory a GLfloat datum.
-
-@code{GL_INVALID_OPERATION} is generated by @code{glGetPixelMapuiv} if a
-non-zero buffer object name is bound to the @code{GL_PIXEL_PACK_BUFFER}
-target and @var{data} is not evenly divisible into the number of bytes
-needed to store in memory a GLuint datum.
-
-@code{GL_INVALID_OPERATION} is generated by @code{glGetPixelMapusv} if a
-non-zero buffer object name is bound to the @code{GL_PIXEL_PACK_BUFFER}
-target and @var{data} is not evenly divisible into the number of bytes
-needed to store in memory a GLushort datum.
-
-@code{GL_INVALID_OPERATION} is generated if @code{glGetPixelMap} is
-executed between the execution of @code{glBegin} and the corresponding
-execution of @code{glEnd}.
-
-@end defun
-
-@defun glGetPointerv
-Return the address of the specified pointer.
-
-@table @asis
-@item @var{pname}
-Specifies the array or buffer pointer to be returned. Symbolic constants
-@code{GL_COLOR_ARRAY_POINTER}, @code{GL_EDGE_FLAG_ARRAY_POINTER},
-@code{GL_FOG_COORD_ARRAY_POINTER}, @code{GL_FEEDBACK_BUFFER_POINTER},
-@code{GL_INDEX_ARRAY_POINTER}, @code{GL_NORMAL_ARRAY_POINTER},
-@code{GL_SECONDARY_COLOR_ARRAY_POINTER},
-@code{GL_SELECTION_BUFFER_POINTER},
-@code{GL_TEXTURE_COORD_ARRAY_POINTER}, or @code{GL_VERTEX_ARRAY_POINTER}
-are accepted.
-
-@item @var{params}
-Returns the pointer value specified by @var{pname}.
-
-@end table
-
-@code{glGetPointerv} returns pointer information. @var{pname} is a
-symbolic constant indicating the pointer to be returned, and
-@var{params} is a pointer to a location in which to place the returned
-data.
-
-For all @var{pname} arguments except @code{GL_FEEDBACK_BUFFER_POINTER}
-and @code{GL_SELECTION_BUFFER_POINTER}, if a non-zero named buffer
-object was bound to the @code{GL_ARRAY_BUFFER} target (see
-@code{glBindBuffer}) when the desired pointer was previously specified,
-the pointer returned is a byte offset into the buffer object's data
-store. Buffer objects are only available in OpenGL versions 1.5 and
-greater.
+@end deftypefun
-@code{GL_INVALID_ENUM} is generated if @var{pname} is not an accepted
-value.
-
-@end defun
-
-@defun glGetPolygonStipple
+@deftypefun void glGetPolygonStipple pattern
Return the polygon stipple pattern.
@table @asis
is executed between the execution of @code{glBegin} and the
corresponding execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glGetProgramInfoLog
+@deftypefun void glGetProgramInfoLog program maxLength length infoLog
Returns the information log for a program object.
@table @asis
is executed between the execution of @code{glBegin} and the
corresponding execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glGetProgramiv
-Returns a parameter from a program object.
+@deftypefun void glGetSeparableFilter target format type row column span
+Get separable convolution filter kernel images.
@table @asis
-@item @var{program}
-Specifies the program object to be queried.
-
-@item @var{pname}
-Specifies the object parameter. Accepted symbolic names are
-@code{GL_DELETE_STATUS}, @code{GL_LINK_STATUS},
-@code{GL_VALIDATE_STATUS}, @code{GL_INFO_LOG_LENGTH},
-@code{GL_ATTACHED_SHADERS}, @code{GL_ACTIVE_ATTRIBUTES},
-@code{GL_ACTIVE_ATTRIBUTE_MAX_LENGTH}, @code{GL_ACTIVE_UNIFORMS},
-@code{GL_ACTIVE_UNIFORM_MAX_LENGTH}.
+@item @var{target}
+The separable filter to be retrieved. Must be @code{GL_SEPARABLE_2D}.
-@item @var{params}
-Returns the requested object parameter.
+@item @var{format}
+Format of the output images. Must be one of @code{GL_RED},
+@code{GL_GREEN}, @code{GL_BLUE}, @code{GL_ALPHA}, @code{GL_RGB},
+@code{GL_BGR}@code{GL_RGBA}, @code{GL_BGRA}, @code{GL_LUMINANCE}, or
+@code{GL_LUMINANCE_ALPHA}.
-@end table
+@item @var{type}
+Data type of components in the output images. Symbolic constants
+@code{GL_UNSIGNED_BYTE}, @code{GL_BYTE}, @code{GL_BITMAP},
+@code{GL_UNSIGNED_SHORT}, @code{GL_SHORT}, @code{GL_UNSIGNED_INT},
+@code{GL_INT}, @code{GL_FLOAT}, @code{GL_UNSIGNED_BYTE_3_3_2},
+@code{GL_UNSIGNED_BYTE_2_3_3_REV}, @code{GL_UNSIGNED_SHORT_5_6_5},
+@code{GL_UNSIGNED_SHORT_5_6_5_REV}, @code{GL_UNSIGNED_SHORT_4_4_4_4},
+@code{GL_UNSIGNED_SHORT_4_4_4_4_REV}, @code{GL_UNSIGNED_SHORT_5_5_5_1},
+@code{GL_UNSIGNED_SHORT_1_5_5_5_REV}, @code{GL_UNSIGNED_INT_8_8_8_8},
+@code{GL_UNSIGNED_INT_8_8_8_8_REV}, @code{GL_UNSIGNED_INT_10_10_10_2},
+and @code{GL_UNSIGNED_INT_2_10_10_10_REV} are accepted.
-@code{glGetProgram} returns in @var{params} the value of a parameter for
-a specific program object. The following parameters are defined:
+@item @var{row}
+Pointer to storage for the row filter image.
-@table @asis
-@item @code{GL_DELETE_STATUS}
+@item @var{column}
+Pointer to storage for the column filter image.
+@item @var{span}
+Pointer to storage for the span filter image (currently unused).
-@var{params} returns @code{GL_TRUE} if @var{program} is currently
-flagged for deletion, and @code{GL_FALSE} otherwise.
+@end table
-@item @code{GL_LINK_STATUS}
+@code{glGetSeparableFilter} returns the two one-dimensional filter
+kernel images for the current separable 2D convolution filter. The row
+image is placed in @var{row} and the column image is placed in
+@var{column} according to the specifications in @var{format} and
+@var{type}. (In the current implementation, @var{span} is not affected
+in any way.) No pixel transfer operations are performed on the images,
+but the relevant pixel storage modes are applied.
+If a non-zero named buffer object is bound to the
+@code{GL_PIXEL_PACK_BUFFER} target (see @code{glBindBuffer}) while a
+separable convolution filter is requested, @var{row}, @var{column}, and
+@var{span} are treated as a byte offset into the buffer object's data
+store.
-@var{params} returns @code{GL_TRUE} if the last link operation on
-@var{program} was successful, and @code{GL_FALSE} otherwise.
+Color components that are present in @var{format} but not included in
+the internal format of the filters are returned as zero. The assignments
+of internal color components to the components of @var{format} are as
+follows:
-@item @code{GL_VALIDATE_STATUS}
-@var{params} returns @code{GL_TRUE} or if the last validation operation
-on @var{program} was successful, and @code{GL_FALSE} otherwise.
-
-@item @code{GL_INFO_LOG_LENGTH}
-
-
-@var{params} returns the number of characters in the information log for
-@var{program} including the null termination character (i.e., the size
-of the character buffer required to store the information log). If
-@var{program} has no information log, a value of 0 is returned.
-
-@item @code{GL_ATTACHED_SHADERS}
-
-
-@var{params} returns the number of shader objects attached to
-@var{program}.
-
-@item @code{GL_ACTIVE_ATTRIBUTES}
-
-
-@var{params} returns the number of active attribute variables for
-@var{program}.
-
-@item @code{GL_ACTIVE_ATTRIBUTE_MAX_LENGTH}
-
-
-@var{params} returns the length of the longest active attribute name for
-@var{program}, including the null termination character (i.e., the size
-of the character buffer required to store the longest attribute name).
-If no active attributes exist, 0 is returned.
-
-@item @code{GL_ACTIVE_UNIFORMS}
-
-
-@var{params} returns the number of active uniform variables for
-@var{program}.
-
-@item @code{GL_ACTIVE_UNIFORM_MAX_LENGTH}
-
-
-@var{params} returns the length of the longest active uniform variable
-name for @var{program}, including the null termination character (i.e.,
-the size of the character buffer required to store the longest uniform
-variable name). If no active uniform variables exist, 0 is returned.
-
-@end table
-
-@code{GL_INVALID_VALUE} is generated if @var{program} is not a value
-generated by OpenGL.
-
-@code{GL_INVALID_OPERATION} is generated if @var{program} does not refer
-to a program object.
-
-@code{GL_INVALID_ENUM} is generated if @var{pname} is not an accepted
-value.
-
-@code{GL_INVALID_OPERATION} is generated if @code{glGetProgram} is
-executed between the execution of @code{glBegin} and the corresponding
-execution of @code{glEnd}.
-
-@end defun
-
-@defun glGetQueryiv
-Return parameters of a query object target.
-
-@table @asis
-@item @var{target}
-Specifies a query object target. Must be @code{GL_SAMPLES_PASSED}.
-
-@item @var{pname}
-Specifies the symbolic name of a query object target parameter. Accepted
-values are @code{GL_CURRENT_QUERY} or @code{GL_QUERY_COUNTER_BITS}.
-
-@item @var{params}
-Returns the requested data.
-
-@end table
-
-@code{glGetQueryiv} returns in @var{params} a selected parameter of the
-query object target specified by @var{target}.
-
-@var{pname} names a specific query object target parameter. When
-@var{target} is @code{GL_SAMPLES_PASSED}, @var{pname} can be as follows:
-
-@table @asis
-@item @code{GL_CURRENT_QUERY}
-@var{params} returns the name of the currently active occlusion query
-object. If no occlusion query is active, 0 is returned. The initial
-value is 0.
-
-@item @code{GL_QUERY_COUNTER_BITS}
-@var{params} returns the number of bits in the query counter used to
-accumulate passing samples. If the number of bits returned is 0, the
-implementation does not support a query counter, and the results
-obtained from @code{glGetQueryObject} are useless.
-
-@end table
-
-@code{GL_INVALID_ENUM} is generated if @var{target} or @var{pname} is
-not an accepted value.
-
-@code{GL_INVALID_OPERATION} is generated if @code{glGetQueryiv} is
-executed between the execution of @code{glBegin} and the corresponding
-execution of @code{glEnd}.
-
-@end defun
-
-@defun glGetQueryObject
-Return parameters of a query object.
-
-@table @asis
-@item @var{id}
-Specifies the name of a query object.
-
-@item @var{pname}
-Specifies the symbolic name of a query object parameter. Accepted values
-are @code{GL_QUERY_RESULT} or @code{GL_QUERY_RESULT_AVAILABLE}.
-
-@item @var{params}
-Returns the requested data.
-
-@end table
-
-@code{glGetQueryObject} returns in @var{params} a selected parameter of
-the query object specified by @var{id}.
-
-@var{pname} names a specific query object parameter. @var{pname} can be
-as follows:
-
-@table @asis
-@item @code{GL_QUERY_RESULT}
-@var{params} returns the value of the query object's passed samples
-counter. The initial value is 0.
-
-@item @code{GL_QUERY_RESULT_AVAILABLE}
-@var{params} returns whether the passed samples counter is immediately
-available. If a delay would occur waiting for the query result,
-@code{GL_FALSE} is returned. Otherwise, @code{GL_TRUE} is returned,
-which also indicates that the results of all previous queries are
-available as well.
-
-@end table
-
-@code{GL_INVALID_ENUM} is generated if @var{pname} is not an accepted
-value.
-
-@code{GL_INVALID_OPERATION} is generated if @var{id} is not the name of
-a query object.
-
-@code{GL_INVALID_OPERATION} is generated if @var{id} is the name of a
-currently active query object.
-
-@code{GL_INVALID_OPERATION} is generated if @code{glGetQueryObject} is
-executed between the execution of @code{glBegin} and the corresponding
-execution of @code{glEnd}.
-
-@end defun
-
-@defun glGetSeparableFilter
-Get separable convolution filter kernel images.
-
-@table @asis
-@item @var{target}
-The separable filter to be retrieved. Must be @code{GL_SEPARABLE_2D}.
-
-@item @var{format}
-Format of the output images. Must be one of @code{GL_RED},
-@code{GL_GREEN}, @code{GL_BLUE}, @code{GL_ALPHA}, @code{GL_RGB},
-@code{GL_BGR}@code{GL_RGBA}, @code{GL_BGRA}, @code{GL_LUMINANCE}, or
-@code{GL_LUMINANCE_ALPHA}.
-
-@item @var{type}
-Data type of components in the output images. Symbolic constants
-@code{GL_UNSIGNED_BYTE}, @code{GL_BYTE}, @code{GL_BITMAP},
-@code{GL_UNSIGNED_SHORT}, @code{GL_SHORT}, @code{GL_UNSIGNED_INT},
-@code{GL_INT}, @code{GL_FLOAT}, @code{GL_UNSIGNED_BYTE_3_3_2},
-@code{GL_UNSIGNED_BYTE_2_3_3_REV}, @code{GL_UNSIGNED_SHORT_5_6_5},
-@code{GL_UNSIGNED_SHORT_5_6_5_REV}, @code{GL_UNSIGNED_SHORT_4_4_4_4},
-@code{GL_UNSIGNED_SHORT_4_4_4_4_REV}, @code{GL_UNSIGNED_SHORT_5_5_5_1},
-@code{GL_UNSIGNED_SHORT_1_5_5_5_REV}, @code{GL_UNSIGNED_INT_8_8_8_8},
-@code{GL_UNSIGNED_INT_8_8_8_8_REV}, @code{GL_UNSIGNED_INT_10_10_10_2},
-and @code{GL_UNSIGNED_INT_2_10_10_10_REV} are accepted.
-
-@item @var{row}
-Pointer to storage for the row filter image.
-
-@item @var{column}
-Pointer to storage for the column filter image.
-
-@item @var{span}
-Pointer to storage for the span filter image (currently unused).
-
-@end table
-
-@code{glGetSeparableFilter} returns the two one-dimensional filter
-kernel images for the current separable 2D convolution filter. The row
-image is placed in @var{row} and the column image is placed in
-@var{column} according to the specifications in @var{format} and
-@var{type}. (In the current implementation, @var{span} is not affected
-in any way.) No pixel transfer operations are performed on the images,
-but the relevant pixel storage modes are applied.
-
-If a non-zero named buffer object is bound to the
-@code{GL_PIXEL_PACK_BUFFER} target (see @code{glBindBuffer}) while a
-separable convolution filter is requested, @var{row}, @var{column}, and
-@var{span} are treated as a byte offset into the buffer object's data
-store.
-
-Color components that are present in @var{format} but not included in
-the internal format of the filters are returned as zero. The assignments
-of internal color components to the components of @var{format} are as
-follows:
-
-
-
-@table @asis
-@item @strong{Internal Component}
-@strong{Resulting Component}
+@table @asis
+@item @strong{Internal Component}
+@strong{Resulting Component}
@item
Red
is executed between the execution of @code{glBegin} and the
corresponding execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glGetShaderInfoLog
+@deftypefun void glGetShaderInfoLog shader maxLength length infoLog
Returns the information log for a shader object.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glGetShaderSource
+@deftypefun void glGetShaderSource shader bufSize length source
Returns the source code string from a shader object.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
-
-@defun glGetShaderiv
-Returns a parameter from a shader object.
-
-@table @asis
-@item @var{shader}
-Specifies the shader object to be queried.
-
-@item @var{pname}
-Specifies the object parameter. Accepted symbolic names are
-@code{GL_SHADER_TYPE}, @code{GL_DELETE_STATUS},
-@code{GL_COMPILE_STATUS}, @code{GL_INFO_LOG_LENGTH},
-@code{GL_SHADER_SOURCE_LENGTH}.
-
-@item @var{params}
-Returns the requested object parameter.
-
-@end table
-
-@code{glGetShader} returns in @var{params} the value of a parameter for
-a specific shader object. The following parameters are defined:
-
-@table @asis
-@item @code{GL_SHADER_TYPE}
-@var{params} returns @code{GL_VERTEX_SHADER} if @var{shader} is a vertex
-shader object, and @code{GL_FRAGMENT_SHADER} if @var{shader} is a
-fragment shader object.
-
-@item @code{GL_DELETE_STATUS}
-@var{params} returns @code{GL_TRUE} if @var{shader} is currently flagged
-for deletion, and @code{GL_FALSE} otherwise.
-
-@item @code{GL_COMPILE_STATUS}
-@var{params} returns @code{GL_TRUE} if the last compile operation on
-@var{shader} was successful, and @code{GL_FALSE} otherwise.
-
-@item @code{GL_INFO_LOG_LENGTH}
-@var{params} returns the number of characters in the information log for
-@var{shader} including the null termination character (i.e., the size of
-the character buffer required to store the information log). If
-@var{shader} has no information log, a value of 0 is returned.
-
-@item @code{GL_SHADER_SOURCE_LENGTH}
-@var{params} returns the length of the concatenation of the source
-strings that make up the shader source for the @var{shader}, including
-the null termination character. (i.e., the size of the character buffer
-required to store the shader source). If no source code exists, 0 is
-returned.
-
-@end table
-
-@code{GL_INVALID_VALUE} is generated if @var{shader} is not a value
-generated by OpenGL.
-
-@code{GL_INVALID_OPERATION} is generated if @var{shader} does not refer
-to a shader object.
-
-@code{GL_INVALID_ENUM} is generated if @var{pname} is not an accepted
-value.
-
-@code{GL_INVALID_OPERATION} is generated if @code{glGetShader} is
-executed between the execution of @code{glBegin} and the corresponding
-execution of @code{glEnd}.
-
-@end defun
+@end deftypefun
-@defun glGetString
+@deftypefun * glGetString name
Return a string describing the current GL connection.
@table @asis
@end table
-Because the GL does not include queries for the performance
-characteristics of an implementation, some applications are written to
-recognize known platforms and modify their GL usage based on known
-performance characteristics of these platforms. Strings @code{GL_VENDOR}
-and @code{GL_RENDERER} together uniquely specify a platform. They do not
-change from release to release and should be used by
-platform-recognition algorithms.
-
-Some applications want to make use of features that are not part of the
-standard GL. These features may be implemented as extensions to the
-standard GL. The @code{GL_EXTENSIONS} string is a space-separated list
-of supported GL extensions. (Extension names never contain a space
-character.)
-
-The @code{GL_VERSION} and @code{GL_SHADING_LANGUAGE_VERSION} strings
-begin with a version number. The version number uses one of these forms:
-
-@var{major_number.minor_number}@var{major_number.minor_number.release_number}
-
-Vendor-specific information may follow the version number. Its format
-depends on the implementation, but a space always separates the version
-number and the vendor-specific information.
-
-All strings are null-terminated.
-
-@code{GL_INVALID_ENUM} is generated if @var{name} is not an accepted
-value.
-
-@code{GL_INVALID_OPERATION} is generated if @code{glGetString} is
-executed between the execution of @code{glBegin} and the corresponding
-execution of @code{glEnd}.
-
-@end defun
-
-@defun glGetTexEnv
-Return texture environment parameters.
-
-@table @asis
-@item @var{target}
-Specifies a texture environment. May be @code{GL_TEXTURE_ENV},
-@code{GL_TEXTURE_FILTER_CONTROL}, or @code{GL_POINT_SPRITE}.
-
-@item @var{pname}
-Specifies the symbolic name of a texture environment parameter. Accepted
-values are @code{GL_TEXTURE_ENV_MODE}, @code{GL_TEXTURE_ENV_COLOR},
-@code{GL_TEXTURE_LOD_BIAS}, @code{GL_COMBINE_RGB},
-@code{GL_COMBINE_ALPHA}, @code{GL_SRC0_RGB}, @code{GL_SRC1_RGB},
-@code{GL_SRC2_RGB}, @code{GL_SRC0_ALPHA}, @code{GL_SRC1_ALPHA},
-@code{GL_SRC2_ALPHA}, @code{GL_OPERAND0_RGB}, @code{GL_OPERAND1_RGB},
-@code{GL_OPERAND2_RGB}, @code{GL_OPERAND0_ALPHA},
-@code{GL_OPERAND1_ALPHA}, @code{GL_OPERAND2_ALPHA}, @code{GL_RGB_SCALE},
-@code{GL_ALPHA_SCALE}, or @code{GL_COORD_REPLACE}.
-
-@item @var{params}
-Returns the requested data.
-
-@end table
-
-@code{glGetTexEnv} returns in @var{params} selected values of a texture
-environment that was specified with @code{glTexEnv}. @var{target}
-specifies a texture environment.
-
-When @var{target} is @code{GL_TEXTURE_FILTER_CONTROL}, @var{pname} must
-be @code{GL_TEXTURE_LOD_BIAS}. When @var{target} is
-@code{GL_POINT_SPRITE}, @var{pname} must be @code{GL_COORD_REPLACE}.
-When @var{target} is @code{GL_TEXTURE_ENV}, @var{pname} can be
-@code{GL_TEXTURE_ENV_MODE}, @code{GL_TEXTURE_ENV_COLOR},
-@code{GL_COMBINE_RGB}, @code{GL_COMBINE_ALPHA}, @code{GL_RGB_SCALE},
-@code{GL_ALPHA_SCALE}, @code{GL_SRC0_RGB}, @code{GL_SRC1_RGB},
-@code{GL_SRC2_RGB}, @code{GL_SRC0_ALPHA}, @code{GL_SRC1_ALPHA}, or
-@code{GL_SRC2_ALPHA}.
-
-@var{pname} names a specific texture environment parameter, as follows:
-
-@table @asis
-@item @code{GL_TEXTURE_ENV_MODE}
-@var{params} returns the single-valued texture environment mode, a
-symbolic constant. The initial value is @code{GL_MODULATE}.
-
-@item @code{GL_TEXTURE_ENV_COLOR}
-@var{params} returns four integer or floating-point values that are the
-texture environment color. Integer values, when requested, are linearly
-mapped from the internal floating-point representation such that 1.0
-maps to the most positive representable integer, and @r{-1.0} maps to
-the most negative representable integer. The initial value is (0, 0, 0,
-0).
-
-@item @code{GL_TEXTURE_LOD_BIAS}
-@var{params} returns a single floating-point value that is the texture
-level-of-detail bias. The initial value is 0.
-
-@item @code{GL_COMBINE_RGB}
-@var{params} returns a single symbolic constant value representing the
-current RGB combine mode. The initial value is @code{GL_MODULATE}.
-
-@item @code{GL_COMBINE_ALPHA}
-@var{params} returns a single symbolic constant value representing the
-current alpha combine mode. The initial value is @code{GL_MODULATE}.
-
-@item @code{GL_SRC0_RGB}
-@var{params} returns a single symbolic constant value representing the
-texture combiner zero's RGB source. The initial value is
-@code{GL_TEXTURE}.
-
-@item @code{GL_SRC1_RGB}
-@var{params} returns a single symbolic constant value representing the
-texture combiner one's RGB source. The initial value is
-@code{GL_PREVIOUS}.
-
-@item @code{GL_SRC2_RGB}
-@var{params} returns a single symbolic constant value representing the
-texture combiner two's RGB source. The initial value is
-@code{GL_CONSTANT}.
-
-@item @code{GL_SRC0_ALPHA}
-@var{params} returns a single symbolic constant value representing the
-texture combiner zero's alpha source. The initial value is
-@code{GL_TEXTURE}.
-
-@item @code{GL_SRC1_ALPHA}
-@var{params} returns a single symbolic constant value representing the
-texture combiner one's alpha source. The initial value is
-@code{GL_PREVIOUS}.
-
-@item @code{GL_SRC2_ALPHA}
-@var{params} returns a single symbolic constant value representing the
-texture combiner two's alpha source. The initial value is
-@code{GL_CONSTANT}.
-
-@item @code{GL_OPERAND0_RGB}
-@var{params} returns a single symbolic constant value representing the
-texture combiner zero's RGB operand. The initial value is
-@code{GL_SRC_COLOR}.
-
-@item @code{GL_OPERAND1_RGB}
-@var{params} returns a single symbolic constant value representing the
-texture combiner one's RGB operand. The initial value is
-@code{GL_SRC_COLOR}.
-
-@item @code{GL_OPERAND2_RGB}
-@var{params} returns a single symbolic constant value representing the
-texture combiner two's RGB operand. The initial value is
-@code{GL_SRC_ALPHA}.
-
-@item @code{GL_OPERAND0_ALPHA}
-@var{params} returns a single symbolic constant value representing the
-texture combiner zero's alpha operand. The initial value is
-@code{GL_SRC_ALPHA}.
-
-@item @code{GL_OPERAND1_ALPHA}
-@var{params} returns a single symbolic constant value representing the
-texture combiner one's alpha operand. The initial value is
-@code{GL_SRC_ALPHA}.
-
-@item @code{GL_OPERAND2_ALPHA}
-@var{params} returns a single symbolic constant value representing the
-texture combiner two's alpha operand. The initial value is
-@code{GL_SRC_ALPHA}.
-
-@item @code{GL_RGB_SCALE}
-@var{params} returns a single floating-point value representing the
-current RGB texture combiner scaling factor. The initial value is 1.0.
-
-@item @code{GL_ALPHA_SCALE}
-@var{params} returns a single floating-point value representing the
-current alpha texture combiner scaling factor. The initial value is 1.0.
-
-@item @code{GL_COORD_REPLACE}
-@var{params} returns a single boolean value representing the current
-point sprite texture coordinate replacement enable state. The initial
-value is @code{GL_FALSE}.
-
-@end table
-
-@code{GL_INVALID_ENUM} is generated if @var{target} or @var{pname} is
-not an accepted value.
-
-@code{GL_INVALID_OPERATION} is generated if @code{glGetTexEnv} is
-executed between the execution of @code{glBegin} and the corresponding
-execution of @code{glEnd}.
-
-@end defun
-
-@defun glGetTexGen
-Return texture coordinate generation parameters.
-
-@table @asis
-@item @var{coord}
-Specifies a texture coordinate. Must be @code{GL_S}, @code{GL_T},
-@code{GL_R}, or @code{GL_Q}.
-
-@item @var{pname}
-Specifies the symbolic name of the value(s) to be returned. Must be
-either @code{GL_TEXTURE_GEN_MODE} or the name of one of the texture
-generation plane equations: @code{GL_OBJECT_PLANE} or
-@code{GL_EYE_PLANE}.
-
-@item @var{params}
-Returns the requested data.
-
-@end table
-
-@code{glGetTexGen} returns in @var{params} selected parameters of a
-texture coordinate generation function that was specified using
-@code{glTexGen}. @var{coord} names one of the (@var{s}, @var{t},
-@var{r}, @var{q}) texture coordinates, using the symbolic constant
-@code{GL_S}, @code{GL_T}, @code{GL_R}, or @code{GL_Q}.
-
-@var{pname} specifies one of three symbolic names:
-
-@table @asis
-@item @code{GL_TEXTURE_GEN_MODE}
-@var{params} returns the single-valued texture generation function, a
-symbolic constant. The initial value is @code{GL_EYE_LINEAR}.
-
-@item @code{GL_OBJECT_PLANE}
-@var{params} returns the four plane equation coefficients that specify
-object linear-coordinate generation. Integer values, when requested, are
-mapped directly from the internal floating-point representation.
-
-@item @code{GL_EYE_PLANE}
-@var{params} returns the four plane equation coefficients that specify
-eye linear-coordinate generation. Integer values, when requested, are
-mapped directly from the internal floating-point representation. The
-returned values are those maintained in eye coordinates. They are not
-equal to the values specified using @code{glTexGen}, unless the
-modelview matrix was identity when @code{glTexGen} was called.
-
-@end table
-
-@code{GL_INVALID_ENUM} is generated if @var{coord} or @var{pname} is not
-an accepted value.
-
-@code{GL_INVALID_OPERATION} is generated if @code{glGetTexGen} is
-executed between the execution of @code{glBegin} and the corresponding
-execution of @code{glEnd}.
-
-@end defun
-
-@defun glGetTexImage
-Return a texture image.
-
-@table @asis
-@item @var{target}
-Specifies which texture is to be obtained. @code{GL_TEXTURE_1D},
-@code{GL_TEXTURE_2D}, @code{GL_TEXTURE_3D},
-@code{GL_TEXTURE_CUBE_MAP_POSITIVE_X},
-@code{GL_TEXTURE_CUBE_MAP_NEGATIVE_X},
-@code{GL_TEXTURE_CUBE_MAP_POSITIVE_Y},
-@code{GL_TEXTURE_CUBE_MAP_NEGATIVE_Y},
-@code{GL_TEXTURE_CUBE_MAP_POSITIVE_Z}, and
-@code{GL_TEXTURE_CUBE_MAP_NEGATIVE_Z} are accepted.
-
-@item @var{level}
-Specifies the level-of-detail number of the desired image. Level 0 is
-the base image level. Level @r{@var{n}} is the @r{@var{n}}th mipmap
-reduction image.
-
-@item @var{format}
-Specifies a pixel format for the returned data. The supported formats
-are @code{GL_RED}, @code{GL_GREEN}, @code{GL_BLUE}, @code{GL_ALPHA},
-@code{GL_RGB}, @code{GL_BGR}, @code{GL_RGBA}, @code{GL_BGRA},
-@code{GL_LUMINANCE}, and @code{GL_LUMINANCE_ALPHA}.
-
-@item @var{type}
-Specifies a pixel type for the returned data. The supported types are
-@code{GL_UNSIGNED_BYTE}, @code{GL_BYTE}, @code{GL_UNSIGNED_SHORT},
-@code{GL_SHORT}, @code{GL_UNSIGNED_INT}, @code{GL_INT}, @code{GL_FLOAT},
-@code{GL_UNSIGNED_BYTE_3_3_2}, @code{GL_UNSIGNED_BYTE_2_3_3_REV},
-@code{GL_UNSIGNED_SHORT_5_6_5}, @code{GL_UNSIGNED_SHORT_5_6_5_REV},
-@code{GL_UNSIGNED_SHORT_4_4_4_4}, @code{GL_UNSIGNED_SHORT_4_4_4_4_REV},
-@code{GL_UNSIGNED_SHORT_5_5_5_1}, @code{GL_UNSIGNED_SHORT_1_5_5_5_REV},
-@code{GL_UNSIGNED_INT_8_8_8_8}, @code{GL_UNSIGNED_INT_8_8_8_8_REV},
-@code{GL_UNSIGNED_INT_10_10_10_2}, and
-@code{GL_UNSIGNED_INT_2_10_10_10_REV}.
-
-@item @var{img}
-Returns the texture image. Should be a pointer to an array of the type
-specified by @var{type}.
-
-@end table
-
-@code{glGetTexImage} returns a texture image into @var{img}.
-@var{target} specifies whether the desired texture image is one
-specified by @code{glTexImage1D} (@code{GL_TEXTURE_1D}),
-@code{glTexImage2D} (@code{GL_TEXTURE_2D} or any of
-@code{GL_TEXTURE_CUBE_MAP_*}), or @code{glTexImage3D}
-(@code{GL_TEXTURE_3D}). @var{level} specifies the level-of-detail number
-of the desired image. @var{format} and @var{type} specify the format and
-type of the desired image array. See the reference pages
-@code{glTexImage1D} and @code{glDrawPixels} for a description of the
-acceptable values for the @var{format} and @var{type} parameters,
-respectively.
-
-If a non-zero named buffer object is bound to the
-@code{GL_PIXEL_PACK_BUFFER} target (see @code{glBindBuffer}) while a
-texture image is requested, @var{img} is treated as a byte offset into
-the buffer object's data store.
-
-To understand the operation of @code{glGetTexImage}, consider the
-selected internal four-component texture image to be an RGBA color
-buffer the size of the image. The semantics of @code{glGetTexImage} are
-then identical to those of @code{glReadPixels}, with the exception that
-no pixel transfer operations are performed, when called with the same
-@var{format} and @var{type}, with @var{x} and @var{y} set to 0,
-@var{width} set to the width of the texture image (including border if
-one was specified), and @var{height} set to 1 for 1D images, or to the
-height of the texture image (including border if one was specified) for
-2D images. Because the internal texture image is an RGBA image, pixel
-formats @code{GL_COLOR_INDEX}, @code{GL_STENCIL_INDEX}, and
-@code{GL_DEPTH_COMPONENT} are not accepted, and pixel type
-@code{GL_BITMAP} is not accepted.
-
-If the selected texture image does not contain four components, the
-following mappings are applied. Single-component textures are treated as
-RGBA buffers with red set to the single-component value, green set to 0,
-blue set to 0, and alpha set to 1. Two-component textures are treated as
-RGBA buffers with red set to the value of component zero, alpha set to
-the value of component one, and green and blue set to 0. Finally,
-three-component textures are treated as RGBA buffers with red set to
-component zero, green set to component one, blue set to component two,
-and alpha set to 1.
-
-To determine the required size of @var{img}, use
-@code{glGetTexLevelParameter} to determine the dimensions of the
-internal texture image, then scale the required number of pixels by the
-storage required for each pixel, based on @var{format} and @var{type}.
-Be sure to take the pixel storage parameters into account, especially
-@code{GL_PACK_ALIGNMENT}.
-
-@code{GL_INVALID_ENUM} is generated if @var{target}, @var{format}, or
-@var{type} is not an accepted value.
-
-@code{GL_INVALID_VALUE} is generated if @var{level} is less than 0.
-
-@code{GL_INVALID_VALUE} may be generated if @var{level} is greater than
-@r{@var{log}_2(@var{max},)}, where @r{@var{max}} is the returned value
-of @code{GL_MAX_TEXTURE_SIZE}.
-
-@code{GL_INVALID_OPERATION} is returned if @var{type} is one of
-@code{GL_UNSIGNED_BYTE_3_3_2}, @code{GL_UNSIGNED_BYTE_2_3_3_REV},
-@code{GL_UNSIGNED_SHORT_5_6_5}, or @code{GL_UNSIGNED_SHORT_5_6_5_REV}
-and @var{format} is not @code{GL_RGB}.
-
-@code{GL_INVALID_OPERATION} is returned if @var{type} is one of
-@code{GL_UNSIGNED_SHORT_4_4_4_4}, @code{GL_UNSIGNED_SHORT_4_4_4_4_REV},
-@code{GL_UNSIGNED_SHORT_5_5_5_1}, @code{GL_UNSIGNED_SHORT_1_5_5_5_REV},
-@code{GL_UNSIGNED_INT_8_8_8_8}, @code{GL_UNSIGNED_INT_8_8_8_8_REV},
-@code{GL_UNSIGNED_INT_10_10_10_2}, or
-@code{GL_UNSIGNED_INT_2_10_10_10_REV}, and @var{format} is neither
-@code{GL_RGBA} or @code{GL_BGRA}.
-
-@code{GL_INVALID_OPERATION} is generated if a non-zero buffer object
-name is bound to the @code{GL_PIXEL_PACK_BUFFER} target and the buffer
-object's data store is currently mapped.
-
-@code{GL_INVALID_OPERATION} is generated if a non-zero buffer object
-name is bound to the @code{GL_PIXEL_PACK_BUFFER} target and the data
-would be packed to the buffer object such that the memory writes
-required would exceed the data store size.
-
-@code{GL_INVALID_OPERATION} is generated if a non-zero buffer object
-name is bound to the @code{GL_PIXEL_PACK_BUFFER} target and @var{img} is
-not evenly divisible into the number of bytes needed to store in memory
-a datum indicated by @var{type}.
-
-@code{GL_INVALID_OPERATION} is generated if @code{glGetTexImage} is
-executed between the execution of @code{glBegin} and the corresponding
-execution of @code{glEnd}.
-
-@end defun
-
-@defun glGetTexLevelParameter
-Return texture parameter values for a specific level of detail.
-
-@table @asis
-@item @var{target}
-Specifies the symbolic name of the target texture, either
-@code{GL_TEXTURE_1D}, @code{GL_TEXTURE_2D}, @code{GL_TEXTURE_3D},
-@code{GL_PROXY_TEXTURE_1D}, @code{GL_PROXY_TEXTURE_2D},
-@code{GL_PROXY_TEXTURE_3D}, @code{GL_TEXTURE_CUBE_MAP_POSITIVE_X},
-@code{GL_TEXTURE_CUBE_MAP_NEGATIVE_X},
-@code{GL_TEXTURE_CUBE_MAP_POSITIVE_Y},
-@code{GL_TEXTURE_CUBE_MAP_NEGATIVE_Y},
-@code{GL_TEXTURE_CUBE_MAP_POSITIVE_Z},
-@code{GL_TEXTURE_CUBE_MAP_NEGATIVE_Z}, or
-@code{GL_PROXY_TEXTURE_CUBE_MAP}.
-
-@item @var{level}
-Specifies the level-of-detail number of the desired image. Level 0 is
-the base image level. Level @r{@var{n}} is the @r{@var{n}}th mipmap
-reduction image.
-
-@item @var{pname}
-Specifies the symbolic name of a texture parameter.
-@code{GL_TEXTURE_WIDTH}, @code{GL_TEXTURE_HEIGHT},
-@code{GL_TEXTURE_DEPTH}, @code{GL_TEXTURE_INTERNAL_FORMAT},
-@code{GL_TEXTURE_BORDER}, @code{GL_TEXTURE_RED_SIZE},
-@code{GL_TEXTURE_GREEN_SIZE}, @code{GL_TEXTURE_BLUE_SIZE},
-@code{GL_TEXTURE_ALPHA_SIZE}, @code{GL_TEXTURE_LUMINANCE_SIZE},
-@code{GL_TEXTURE_INTENSITY_SIZE}, @code{GL_TEXTURE_DEPTH_SIZE},
-@code{GL_TEXTURE_COMPRESSED}, and
-@code{GL_TEXTURE_COMPRESSED_IMAGE_SIZE} are accepted.
-
-@item @var{params}
-Returns the requested data.
-
-@end table
-
-@code{glGetTexLevelParameter} returns in @var{params} texture parameter
-values for a specific level-of-detail value, specified as @var{level}.
-@var{target} defines the target texture, either @code{GL_TEXTURE_1D},
-@code{GL_TEXTURE_2D}, @code{GL_TEXTURE_3D}, @code{GL_PROXY_TEXTURE_1D},
-@code{GL_PROXY_TEXTURE_2D}, @code{GL_PROXY_TEXTURE_3D},
-@code{GL_TEXTURE_CUBE_MAP_POSITIVE_X},
-@code{GL_TEXTURE_CUBE_MAP_NEGATIVE_X},
-@code{GL_TEXTURE_CUBE_MAP_POSITIVE_Y},
-@code{GL_TEXTURE_CUBE_MAP_NEGATIVE_Y},
-@code{GL_TEXTURE_CUBE_MAP_POSITIVE_Z},
-@code{GL_TEXTURE_CUBE_MAP_NEGATIVE_Z}, or
-@code{GL_PROXY_TEXTURE_CUBE_MAP}.
-
-@code{GL_MAX_TEXTURE_SIZE}, and @code{GL_MAX_3D_TEXTURE_SIZE} are not
-really descriptive enough. It has to report the largest square texture
-image that can be accommodated with mipmaps and borders, but a long
-skinny texture, or a texture without mipmaps and borders, may easily fit
-in texture memory. The proxy targets allow the user to more accurately
-query whether the GL can accommodate a texture of a given configuration.
-If the texture cannot be accommodated, the texture state variables,
-which may be queried with @code{glGetTexLevelParameter}, are set to 0.
-If the texture can be accommodated, the texture state values will be set
-as they would be set for a non-proxy target.
-
-@var{pname} specifies the texture parameter whose value or values will
-be returned.
-
-The accepted parameter names are as follows:
-
-@table @asis
-@item @code{GL_TEXTURE_WIDTH}
-
-
-@var{params} returns a single value, the width of the texture image.
-This value includes the border of the texture image. The initial value
-is 0.
-
-@item @code{GL_TEXTURE_HEIGHT}
-
-
-@var{params} returns a single value, the height of the texture image.
-This value includes the border of the texture image. The initial value
-is 0.
-
-@item @code{GL_TEXTURE_DEPTH}
-
-
-@var{params} returns a single value, the depth of the texture image.
-This value includes the border of the texture image. The initial value
-is 0.
-
-@item @code{GL_TEXTURE_INTERNAL_FORMAT}
-
-
-@var{params} returns a single value, the internal format of the texture
-image.
-
-@item @code{GL_TEXTURE_BORDER}
-
-
-@var{params} returns a single value, the width in pixels of the border
-of the texture image. The initial value is 0.
-
-@item @code{GL_TEXTURE_RED_SIZE},
-@item @code{GL_TEXTURE_GREEN_SIZE},
-@item @code{GL_TEXTURE_BLUE_SIZE},
-@item @code{GL_TEXTURE_ALPHA_SIZE},
-@item @code{GL_TEXTURE_LUMINANCE_SIZE},
-@item @code{GL_TEXTURE_INTENSITY_SIZE},
-@item @code{GL_TEXTURE_DEPTH_SIZE}
-
-
-The internal storage resolution of an individual component. The
-resolution chosen by the GL will be a close match for the resolution
-requested by the user with the component argument of
-@code{glTexImage1D}, @code{glTexImage2D}, @code{glTexImage3D},
-@code{glCopyTexImage1D}, and @code{glCopyTexImage2D}. The initial value
-is 0.
-
-@item @code{GL_TEXTURE_COMPRESSED}
-
-
-@var{params} returns a single boolean value indicating if the texture
-image is stored in a compressed internal format. The initiali value is
-@code{GL_FALSE}.
-
-@item @code{GL_TEXTURE_COMPRESSED_IMAGE_SIZE}
-
-
-@var{params} returns a single integer value, the number of unsigned
-bytes of the compressed texture image that would be returned from
-@code{glGetCompressedTexImage}.
-
-@end table
-
-@code{GL_INVALID_ENUM} is generated if @var{target} or @var{pname} is
-not an accepted value.
-
-@code{GL_INVALID_VALUE} is generated if @var{level} is less than 0.
-
-@code{GL_INVALID_VALUE} may be generated if @var{level} is greater than
-@r{@var{log}_2}@var{max}, where @var{max} is the returned value of
-@code{GL_MAX_TEXTURE_SIZE}.
-
-@code{GL_INVALID_OPERATION} is generated if
-@code{glGetTexLevelParameter} is executed between the execution of
-@code{glBegin} and the corresponding execution of @code{glEnd}.
-
-@code{GL_INVALID_OPERATION} is generated if
-@code{GL_TEXTURE_COMPRESSED_IMAGE_SIZE} is queried on texture images
-with an uncompressed internal format or on proxy targets.
-
-@end defun
-
-@defun glGetTexParameter
-Return texture parameter values.
-
-@table @asis
-@item @var{target}
-Specifies the symbolic name of the target texture. @code{GL_TEXTURE_1D},
-@code{GL_TEXTURE_2D}, @code{GL_TEXTURE_3D}, and
-@code{GL_TEXTURE_CUBE_MAP} are accepted.
-
-@item @var{pname}
-Specifies the symbolic name of a texture parameter.
-@code{GL_TEXTURE_MAG_FILTER}, @code{GL_TEXTURE_MIN_FILTER},
-@code{GL_TEXTURE_MIN_LOD}, @code{GL_TEXTURE_MAX_LOD},
-@code{GL_TEXTURE_BASE_LEVEL}, @code{GL_TEXTURE_MAX_LEVEL},
-@code{GL_TEXTURE_WRAP_S}, @code{GL_TEXTURE_WRAP_T},
-@code{GL_TEXTURE_WRAP_R}, @code{GL_TEXTURE_BORDER_COLOR},
-@code{GL_TEXTURE_PRIORITY}, @code{GL_TEXTURE_RESIDENT},
-@code{GL_TEXTURE_COMPARE_MODE}, @code{GL_TEXTURE_COMPARE_FUNC},
-@code{GL_DEPTH_TEXTURE_MODE}, and @code{GL_GENERATE_MIPMAP} are
-accepted.
-
-@item @var{params}
-Returns the texture parameters.
-
-@end table
-
-@code{glGetTexParameter} returns in @var{params} the value or values of
-the texture parameter specified as @var{pname}. @var{target} defines the
-target texture, either @code{GL_TEXTURE_1D}, @code{GL_TEXTURE_2D},
-@code{GL_TEXTURE_3D}, or @code{GL_TEXTURE_CUBE_MAP}, to specify one-,
-two-, or three-dimensional or cube-mapped texturing. @var{pname} accepts
-the same symbols as @code{glTexParameter}, with the same
-interpretations:
-
-@table @asis
-@item @code{GL_TEXTURE_MAG_FILTER}
-Returns the single-valued texture magnification filter, a symbolic
-constant. The initial value is @code{GL_LINEAR}.
-
-@item @code{GL_TEXTURE_MIN_FILTER}
-Returns the single-valued texture minification filter, a symbolic
-constant. The initial value is @code{GL_NEAREST_MIPMAP_LINEAR}.
-
-@item @code{GL_TEXTURE_MIN_LOD}
-Returns the single-valued texture minimum level-of-detail value. The
-initial value is @r{-1000}.
-
-@item @code{GL_TEXTURE_MAX_LOD}
-Returns the single-valued texture maximum level-of-detail value. The
-initial value is 1000.
-
-@item @code{GL_TEXTURE_BASE_LEVEL}
-Returns the single-valued base texture mipmap level. The initial value
-is 0.
-
-@item @code{GL_TEXTURE_MAX_LEVEL}
-Returns the single-valued maximum texture mipmap array level. The
-initial value is 1000.
-
-@item @code{GL_TEXTURE_WRAP_S}
-Returns the single-valued wrapping function for texture coordinate
-@r{@var{s}}, a symbolic constant. The initial value is @code{GL_REPEAT}.
-
-@item @code{GL_TEXTURE_WRAP_T}
-Returns the single-valued wrapping function for texture coordinate
-@r{@var{t}}, a symbolic constant. The initial value is @code{GL_REPEAT}.
-
-@item @code{GL_TEXTURE_WRAP_R}
-Returns the single-valued wrapping function for texture coordinate
-@r{@var{r}}, a symbolic constant. The initial value is @code{GL_REPEAT}.
-
-@item @code{GL_TEXTURE_BORDER_COLOR}
-Returns four integer or floating-point numbers that comprise the RGBA
-color of the texture border. Floating-point values are returned in the
-range @r{[0,1]}. Integer values are returned as a linear mapping of the
-internal floating-point representation such that 1.0 maps to the most
-positive representable integer and @r{-1.0} maps to the most negative
-representable integer. The initial value is (0, 0, 0, 0).
-
-@item @code{GL_TEXTURE_PRIORITY}
-Returns the residence priority of the target texture (or the named
-texture bound to it). The initial value is 1. See
-@code{glPrioritizeTextures}.
-
-@item @code{GL_TEXTURE_RESIDENT}
-Returns the residence status of the target texture. If the value
-returned in @var{params} is @code{GL_TRUE}, the texture is resident in
-texture memory. See @code{glAreTexturesResident}.
-
-@item @code{GL_TEXTURE_COMPARE_MODE}
-Returns a single-valued texture comparison mode, a symbolic constant.
-The initial value is @code{GL_NONE}. See @code{glTexParameter}.
-
-@item @code{GL_TEXTURE_COMPARE_FUNC}
-Returns a single-valued texture comparison function, a symbolic
-constant. The initial value is @code{GL_LEQUAL}. See
-@code{glTexParameter}.
-
-@item @code{GL_DEPTH_TEXTURE_MODE}
-Returns a single-valued texture format indicating how the depth values
-should be converted into color components. The initial value is
-@code{GL_LUMINANCE}. See @code{glTexParameter}.
-
-@item @code{GL_GENERATE_MIPMAP}
-Returns a single boolean value indicating if automatic mipmap level
-updates are enabled. See @code{glTexParameter}.
-
-@end table
-
-@code{GL_INVALID_ENUM} is generated if @var{target} or @var{pname} is
-not an accepted value.
-
-@code{GL_INVALID_OPERATION} is generated if @code{glGetTexParameter} is
-executed between the execution of @code{glBegin} and the corresponding
-execution of @code{glEnd}.
-
-@end defun
-
-@defun glGetUniformLocation
-Returns the location of a uniform variable.
-
-@table @asis
-@item @var{program}
-Specifies the program object to be queried.
-
-@item @var{name}
-Points to a null terminated string containing the name of the uniform
-variable whose location is to be queried.
-
-@end table
-
-@code{glGetUniformLocation } returns an integer that represents the
-location of a specific uniform variable within a program object.
-@var{name} must be a null terminated string that contains no white
-space. @var{name} must be an active uniform variable name in
-@var{program} that is not a structure, an array of structures, or a
-subcomponent of a vector or a matrix. This function returns -1 if
-@var{name} does not correspond to an active uniform variable in
-@var{program} or if @var{name} starts with the reserved prefix "gl_".
-
-Uniform variables that are structures or arrays of structures may be
-queried by calling @code{glGetUniformLocation} for each field within the
-structure. The array element operator "[]" and the structure field
-operator "." may be used in @var{name} in order to select elements
-within an array or fields within a structure. The result of using these
-operators is not allowed to be another structure, an array of
-structures, or a subcomponent of a vector or a matrix. Except if the
-last part of @var{name} indicates a uniform variable array, the location
-of the first element of an array can be retrieved by using the name of
-the array, or by using the name appended by "[0]".
-
-The actual locations assigned to uniform variables are not known until
-the program object is linked successfully. After linking has occurred,
-the command @code{glGetUniformLocation} can be used to obtain the
-location of a uniform variable. This location value can then be passed
-to @code{glUniform} to set the value of the uniform variable or to
-@code{glGetUniform} in order to query the current value of the uniform
-variable. After a program object has been linked successfully, the index
-values for uniform variables remain fixed until the next link command
-occurs. Uniform variable locations and values can only be queried after
-a link if the link was successful.
-
-@code{GL_INVALID_VALUE} is generated if @var{program} is not a value
-generated by OpenGL.
-
-@code{GL_INVALID_OPERATION} is generated if @var{program} is not a
-program object.
-
-@code{GL_INVALID_OPERATION} is generated if @var{program} has not been
-successfully linked.
-
-@code{GL_INVALID_OPERATION} is generated if @code{glGetUniformLocation}
-is executed between the execution of @code{glBegin} and the
-corresponding execution of @code{glEnd}.
-
-@end defun
-
-@defun glGetUniformfv
-Returns the value of a uniform variable.
-
-@table @asis
-@item @var{program}
-Specifies the program object to be queried.
-
-@item @var{location}
-Specifies the location of the uniform variable to be queried.
-
-@item @var{params}
-Returns the value of the specified uniform variable.
-
-@end table
-
-@code{glGetUniform} returns in @var{params} the value(s) of the
-specified uniform variable. The type of the uniform variable specified
-by @var{location} determines the number of values returned. If the
-uniform variable is defined in the shader as a boolean, int, or float, a
-single value will be returned. If it is defined as a vec2, ivec2, or
-bvec2, two values will be returned. If it is defined as a vec3, ivec3,
-or bvec3, three values will be returned, and so on. To query values
-stored in uniform variables declared as arrays, call @code{glGetUniform}
-for each element of the array. To query values stored in uniform
-variables declared as structures, call @code{glGetUniform} for each
-field in the structure. The values for uniform variables declared as a
-matrix will be returned in column major order.
-
-The locations assigned to uniform variables are not known until the
-program object is linked. After linking has occurred, the command
-@code{glGetUniformLocation} can be used to obtain the location of a
-uniform variable. This location value can then be passed to
-@code{glGetUniform} in order to query the current value of the uniform
-variable. After a program object has been linked successfully, the index
-values for uniform variables remain fixed until the next link command
-occurs. The uniform variable values can only be queried after a link if
-the link was successful.
-
-@code{GL_INVALID_VALUE} is generated if @var{program} is not a value
-generated by OpenGL.
-
-@code{GL_INVALID_OPERATION} is generated if @var{program} is not a
-program object.
-
-@code{GL_INVALID_OPERATION} is generated if @var{program} has not been
-successfully linked.
-
-@code{GL_INVALID_OPERATION} is generated if @var{location} does not
-correspond to a valid uniform variable location for the specified
-program object.
-
-@code{GL_INVALID_OPERATION} is generated if @code{glGetUniform} is
-executed between the execution of @code{glBegin} and the corresponding
-execution of @code{glEnd}.
-
-@end defun
-
-@defun glGetVertexAttribPointerv
-Return the address of the specified generic vertex attribute pointer.
-
-@table @asis
-@item @var{index}
-Specifies the generic vertex attribute parameter to be returned.
-
-@item @var{pname}
-Specifies the symbolic name of the generic vertex attribute parameter to
-be returned. Must be @code{GL_VERTEX_ATTRIB_ARRAY_POINTER}.
-
-@item @var{pointer}
-Returns the pointer value.
-
-@end table
-
-@code{glGetVertexAttribPointerv} returns pointer information.
-@var{index} is the generic vertex attribute to be queried, @var{pname}
-is a symbolic constant indicating the pointer to be returned, and
-@var{params} is a pointer to a location in which to place the returned
-data.
-
-If a non-zero named buffer object was bound to the
-@code{GL_ARRAY_BUFFER} target (see @code{glBindBuffer}) when the desired
-pointer was previously specified, the @var{pointer} returned is a byte
-offset into the buffer object's data store.
-
-@code{GL_INVALID_VALUE} is generated if @var{index} is greater than or
-equal to @code{GL_MAX_VERTEX_ATTRIBS}.
-
-@code{GL_INVALID_ENUM} is generated if @var{pname} is not an accepted
-value.
-
-@end defun
-
-@defun glGetVertexAttribdv
-Return a generic vertex attribute parameter.
-
-@table @asis
-@item @var{index}
-Specifies the generic vertex attribute parameter to be queried.
-
-@item @var{pname}
-Specifies the symbolic name of the vertex attribute parameter to be
-queried. Accepted values are
-@code{GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING},
-@code{GL_VERTEX_ATTRIB_ARRAY_ENABLED},
-@code{GL_VERTEX_ATTRIB_ARRAY_SIZE},
-@code{GL_VERTEX_ATTRIB_ARRAY_STRIDE},
-@code{GL_VERTEX_ATTRIB_ARRAY_TYPE},
-@code{GL_VERTEX_ATTRIB_ARRAY_NORMALIZED}, or
-@code{GL_CURRENT_VERTEX_ATTRIB}.
-
-@item @var{params}
-Returns the requested data.
-
-@end table
-
-@code{glGetVertexAttrib} returns in @var{params} the value of a generic
-vertex attribute parameter. The generic vertex attribute to be queried
-is specified by @var{index}, and the parameter to be queried is
-specified by @var{pname}.
-
-The accepted parameter names are as follows:
-
-@table @asis
-@item @code{GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING}
-
-
-@var{params} returns a single value, the name of the buffer object
-currently bound to the binding point corresponding to generic vertex
-attribute array @var{index}. If no buffer object is bound, 0 is
-returned. The initial value is 0.
-
-@item @code{GL_VERTEX_ATTRIB_ARRAY_ENABLED}
-
-
-@var{params} returns a single value that is non-zero (true) if the
-vertex attribute array for @var{index} is enabled and 0 (false) if it is
-disabled. The initial value is @code{GL_FALSE}.
-
-@item @code{GL_VERTEX_ATTRIB_ARRAY_SIZE}
-
-
-@var{params} returns a single value, the size of the vertex attribute
-array for @var{index}. The size is the number of values for each element
-of the vertex attribute array, and it will be 1, 2, 3, or 4. The initial
-value is 4.
-
-@item @code{GL_VERTEX_ATTRIB_ARRAY_STRIDE}
-
-
-@var{params} returns a single value, the array stride for (number of
-bytes between successive elements in) the vertex attribute array for
-@var{index}. A value of 0 indicates that the array elements are stored
-sequentially in memory. The initial value is 0.
-
-@item @code{GL_VERTEX_ATTRIB_ARRAY_TYPE}
-
-
-@var{params} returns a single value, a symbolic constant indicating the
-array type for the vertex attribute array for @var{index}. Possible
-values are @code{GL_BYTE}, @code{GL_UNSIGNED_BYTE}, @code{GL_SHORT},
-@code{GL_UNSIGNED_SHORT}, @code{GL_INT}, @code{GL_UNSIGNED_INT},
-@code{GL_FLOAT}, and @code{GL_DOUBLE}. The initial value is
-@code{GL_FLOAT}.
-
-@item @code{GL_VERTEX_ATTRIB_ARRAY_NORMALIZED}
-
-
-@var{params} returns a single value that is non-zero (true) if
-fixed-point data types for the vertex attribute array indicated by
-@var{index} are normalized when they are converted to floating point,
-and 0 (false) otherwise. The initial value is @code{GL_FALSE}.
-
-@item @code{GL_CURRENT_VERTEX_ATTRIB}
-
-
-@var{params} returns four values that represent the current value for
-the generic vertex attribute specified by index. Generic vertex
-attribute 0 is unique in that it has no current state, so an error will
-be generated if @var{index} is 0. The initial value for all other
-generic vertex attributes is (0,0,0,1).
-
-@end table
-
-All of the parameters except @code{GL_CURRENT_VERTEX_ATTRIB} represent
-client-side state.
-
-@code{GL_INVALID_VALUE} is generated if @var{index} is greater than or
-equal to @code{GL_MAX_VERTEX_ATTRIBS}.
-
-@code{GL_INVALID_ENUM} is generated if @var{pname} is not an accepted
-value.
-
-@code{GL_INVALID_OPERATION} is generated if @var{index} is 0 and
-@var{pname} is @code{GL_CURRENT_VERTEX_ATTRIB}.
-
-@end defun
-
-@defun glGet
-Return the value or values of a selected parameter.
-
-@table @asis
-@item @var{pname}
-Specifies the parameter value to be returned. The symbolic constants in
-the list below are accepted.
-
-@item @var{params}
-Returns the value or values of the specified parameter.
-
-@end table
-
-These four commands return values for simple state variables in GL.
-@var{pname} is a symbolic constant indicating the state variable to be
-returned, and @var{params} is a pointer to an array of the indicated
-type in which to place the returned data.
-
-Type conversion is performed if @var{params} has a different type than
-the state variable value being requested. If @code{glGetBooleanv} is
-called, a floating-point (or integer) value is converted to
-@code{GL_FALSE} if and only if it is 0.0 (or 0). Otherwise, it is
-converted to @code{GL_TRUE}. If @code{glGetIntegerv} is called, boolean
-values are returned as @code{GL_TRUE} or @code{GL_FALSE}, and most
-floating-point values are rounded to the nearest integer value.
-Floating-point colors and normals, however, are returned with a linear
-mapping that maps 1.0 to the most positive representable integer value
-and @r{-1.0} to the most negative representable integer value. If
-@code{glGetFloatv} or @code{glGetDoublev} is called, boolean values are
-returned as @code{GL_TRUE} or @code{GL_FALSE}, and integer values are
-converted to floating-point values.
-
-The following symbolic constants are accepted by @var{pname}:
-
-@table @asis
-@item @code{GL_ACCUM_ALPHA_BITS}
-
-
-@var{params} returns one value, the number of alpha bitplanes in the
-accumulation buffer.
-
-@item @code{GL_ACCUM_BLUE_BITS}
-
-
-@var{params} returns one value, the number of blue bitplanes in the
-accumulation buffer.
-
-@item @code{GL_ACCUM_CLEAR_VALUE}
-
-
-@var{params} returns four values: the red, green, blue, and alpha values
-used to clear the accumulation buffer. Integer values, if requested, are
-linearly mapped from the internal floating-point representation such
-that 1.0 returns the most positive representable integer value, and
-@r{-1.0} returns the most negative representable integer value. The
-initial value is (0, 0, 0, 0). See @code{glClearAccum}.
-
-@item @code{GL_ACCUM_GREEN_BITS}
-
-
-@var{params} returns one value, the number of green bitplanes in the
-accumulation buffer.
-
-@item @code{GL_ACCUM_RED_BITS}
-
-
-@var{params} returns one value, the number of red bitplanes in the
-accumulation buffer.
-
-@item @code{GL_ACTIVE_TEXTURE}
-
-
-@var{params} returns a single value indicating the active multitexture
-unit. The initial value is @code{GL_TEXTURE0}. See
-@code{glActiveTexture}.
-
-@item @code{GL_ALIASED_POINT_SIZE_RANGE}
-
-
-@var{params} returns two values, the smallest and largest supported
-sizes for aliased points.
-
-@item @code{GL_ALIASED_LINE_WIDTH_RANGE}
-
-
-@var{params} returns two values, the smallest and largest supported
-widths for aliased lines.
-
-@item @code{GL_ALPHA_BIAS}
-
-
-@var{params} returns one value, the alpha bias factor used during pixel
-transfers. The initial value is 0. See @code{glPixelTransfer}.
-
-@item @code{GL_ALPHA_BITS}
-
-
-@var{params} returns one value, the number of alpha bitplanes in each
-color buffer.
-
-@item @code{GL_ALPHA_SCALE}
-
-
-@var{params} returns one value, the alpha scale factor used during pixel
-transfers. The initial value is 1. See @code{glPixelTransfer}.
-
-@item @code{GL_ALPHA_TEST}
-
-
-@var{params} returns a single boolean value indicating whether alpha
-testing of fragments is enabled. The initial value is @code{GL_FALSE}.
-See @code{glAlphaFunc}.
-
-@item @code{GL_ALPHA_TEST_FUNC}@var{params} returns one value,
-
-
-the symbolic name of the alpha test function. The initial value is
-@code{GL_ALWAYS}. See @code{glAlphaFunc}.
-
-@item @code{GL_ALPHA_TEST_REF}
-
-
-@var{params} returns one value, the reference value for the alpha test.
-The initial value is 0. See @code{glAlphaFunc}. An integer value, if
-requested, is linearly mapped from the internal floating-point
-representation such that 1.0 returns the most positive representable
-integer value, and @r{-1.0} returns the most negative representable
-integer value.
-
-@item @code{GL_ARRAY_BUFFER_BINDING}
-
-
-@var{params} returns a single value, the name of the buffer object
-currently bound to the target @code{GL_ARRAY_BUFFER}. If no buffer
-object is bound to this target, 0 is returned. The initial value is 0.
-See @code{glBindBuffer}.
-
-@item @code{GL_ATTRIB_STACK_DEPTH}
-
-
-@var{params} returns one value, the depth of the attribute stack. If the
-stack is empty, 0 is returned. The initial value is 0. See
-@code{glPushAttrib}.
-
-@item @code{GL_AUTO_NORMAL}
-
-
-@var{params} returns a single boolean value indicating whether 2D map
-evaluation automatically generates surface normals. The initial value is
-@code{GL_FALSE}. See @code{glMap2}.
-
-@item @code{GL_AUX_BUFFERS}
-
-
-@var{params} returns one value, the number of auxiliary color buffers
-available.
-
-@item @code{GL_BLEND}
-
-
-@var{params} returns a single boolean value indicating whether blending
-is enabled. The initial value is @code{GL_FALSE}. See
-@code{glBlendFunc}.
-
-@item @code{GL_BLEND_COLOR}
-
-
-@var{params} returns four values, the red, green, blue, and alpha values
-which are the components of the blend color. See @code{glBlendColor}.
-
-@item @code{GL_BLEND_DST_ALPHA}
-
-
-@var{params} returns one value, the symbolic constant identifying the
-alpha destination blend function. The initial value is @code{GL_ZERO}.
-See @code{glBlendFunc} and @code{glBlendFuncSeparate}.
-
-@item @code{GL_BLEND_DST_RGB}
-
-
-@var{params} returns one value, the symbolic constant identifying the
-RGB destination blend function. The initial value is @code{GL_ZERO}. See
-@code{glBlendFunc} and @code{glBlendFuncSeparate}.
-
-@item @code{GL_BLEND_EQUATION_RGB}
-
-
-@var{params} returns one value, a symbolic constant indicating whether
-the RGB blend equation is @code{GL_FUNC_ADD}, @code{GL_FUNC_SUBTRACT},
-@code{GL_FUNC_REVERSE_SUBTRACT}, @code{GL_MIN} or @code{GL_MAX}. See
-@code{glBlendEquationSeparate}.
-
-@item @code{GL_BLEND_EQUATION_ALPHA}
-
-
-@var{params} returns one value, a symbolic constant indicating whether
-the Alpha blend equation is @code{GL_FUNC_ADD}, @code{GL_FUNC_SUBTRACT},
-@code{GL_FUNC_REVERSE_SUBTRACT}, @code{GL_MIN} or @code{GL_MAX}. See
-@code{glBlendEquationSeparate}.
-
-@item @code{GL_BLEND_SRC_ALPHA}
-
-
-@var{params} returns one value, the symbolic constant identifying the
-alpha source blend function. The initial value is @code{GL_ONE}. See
-@code{glBlendFunc} and @code{glBlendFuncSeparate}.
-
-@item @code{GL_BLEND_SRC_RGB}
-
-
-@var{params} returns one value, the symbolic constant identifying the
-RGB source blend function. The initial value is @code{GL_ONE}. See
-@code{glBlendFunc} and @code{glBlendFuncSeparate}.
-
-@item @code{GL_BLUE_BIAS}
-
-
-@var{params} returns one value, the blue bias factor used during pixel
-transfers. The initial value is 0. See @code{glPixelTransfer}.
-
-@item @code{GL_BLUE_BITS}
-
-
-@var{params} returns one value, the number of blue bitplanes in each
-color buffer.
-
-@item @code{GL_BLUE_SCALE}
-
-
-@var{params} returns one value, the blue scale factor used during pixel
-transfers. The initial value is 1. See @code{glPixelTransfer}.
-
-@item @code{GL_CLIENT_ACTIVE_TEXTURE}
-
-
-@var{params} returns a single integer value indicating the current
-client active multitexture unit. The initial value is
-@code{GL_TEXTURE0}. See @code{glClientActiveTexture}.
-
-@item @code{GL_CLIENT_ATTRIB_STACK_DEPTH}
-
-
-@var{params} returns one value indicating the depth of the attribute
-stack. The initial value is 0. See @code{glPushClientAttrib}.
-
-@item @code{GL_CLIP_PLANE}@var{i}
-
-
-@var{params} returns a single boolean value indicating whether the
-specified clipping plane is enabled. The initial value is
-@code{GL_FALSE}. See @code{glClipPlane}.
-
-@item @code{GL_COLOR_ARRAY}
-
-
-@var{params} returns a single boolean value indicating whether the color
-array is enabled. The initial value is @code{GL_FALSE}. See
-@code{glColorPointer}.
-
-@item @code{GL_COLOR_ARRAY_BUFFER_BINDING}
-
-
-@var{params} returns a single value, the name of the buffer object
-associated with the color array. This buffer object would have been
-bound to the target @code{GL_ARRAY_BUFFER} at the time of the most
-recent call to @code{glColorPointer}. If no buffer object was bound to
-this target, 0 is returned. The initial value is 0. See
-@code{glBindBuffer}.
-
-@item @code{GL_COLOR_ARRAY_SIZE}
-
-
-@var{params} returns one value, the number of components per color in
-the color array. The initial value is 4. See @code{glColorPointer}.
-
-@item @code{GL_COLOR_ARRAY_STRIDE}
-
-
-@var{params} returns one value, the byte offset between consecutive
-colors in the color array. The initial value is 0. See
-@code{glColorPointer}.
-
-@item @code{GL_COLOR_ARRAY_TYPE}
-
-
-@var{params} returns one value, the data type of each component in the
-color array. The initial value is @code{GL_FLOAT}. See
-@code{glColorPointer}.
-
-@item @code{GL_COLOR_CLEAR_VALUE}
-
-
-@var{params} returns four values: the red, green, blue, and alpha values
-used to clear the color buffers. Integer values, if requested, are
-linearly mapped from the internal floating-point representation such
-that 1.0 returns the most positive representable integer value, and
-@r{-1.0} returns the most negative representable integer value. The
-initial value is (0, 0, 0, 0). See @code{glClearColor}.
-
-@item @code{GL_COLOR_LOGIC_OP}
-
-
-@var{params} returns a single boolean value indicating whether a
-fragment's RGBA color values are merged into the framebuffer using a
-logical operation. The initial value is @code{GL_FALSE}. See
-@code{glLogicOp}.
-
-@item @code{GL_COLOR_MATERIAL}
-
-
-@var{params} returns a single boolean value indicating whether one or
-more material parameters are tracking the current color. The initial
-value is @code{GL_FALSE}. See @code{glColorMaterial}.
-
-@item @code{GL_COLOR_MATERIAL_FACE}
-
-
-@var{params} returns one value, a symbolic constant indicating which
-materials have a parameter that is tracking the current color. The
-initial value is @code{GL_FRONT_AND_BACK}. See @code{glColorMaterial}.
-
-@item @code{GL_COLOR_MATERIAL_PARAMETER}
-
-
-@var{params} returns one value, a symbolic constant indicating which
-material parameters are tracking the current color. The initial value is
-@code{GL_AMBIENT_AND_DIFFUSE}. See @code{glColorMaterial}.
-
-@item @code{GL_COLOR_MATRIX}
-
-
-@var{params} returns sixteen values: the color matrix on the top of the
-color matrix stack. Initially this matrix is the identity matrix. See
-@code{glPushMatrix}.
-
-@item @code{GL_COLOR_MATRIX_STACK_DEPTH}
-
-
-@var{params} returns one value, the maximum supported depth of the
-projection matrix stack. The value must be at least 2. See
-@code{glPushMatrix}.
-
-@item @code{GL_COLOR_SUM}
-
-
-@var{params} returns a single boolean value indicating whether primary
-and secondary color sum is enabled. See @code{glSecondaryColor}.
-
-@item @code{GL_COLOR_TABLE}
-
-
-@var{params} returns a single boolean value indicating whether the color
-table lookup is enabled. See @code{glColorTable}.
-
-@item @code{GL_COLOR_WRITEMASK}
-
-
-@var{params} returns four boolean values: the red, green, blue, and
-alpha write enables for the color buffers. The initial value is
-(@code{GL_TRUE}, @code{GL_TRUE}, @code{GL_TRUE}, @code{GL_TRUE}). See
-@code{glColorMask}.
-
-@item @code{GL_COMPRESSED_TEXTURE_FORMATS}
-
-
-@var{params} returns a list of symbolic constants of length
-@code{GL_NUM_COMPRESSED_TEXTURE_FORMATS} indicating which compressed
-texture formats are available. See @code{glCompressedTexImage2D}.
-
-@item @code{GL_CONVOLUTION_1D}
-
-
-@var{params} returns a single boolean value indicating whether 1D
-convolution is enabled. The initial value is @code{GL_FALSE}. See
-@code{glConvolutionFilter1D}.
-
-@item @code{GL_CONVOLUTION_2D}
-
-
-@var{params} returns a single boolean value indicating whether 2D
-convolution is enabled. The initial value is @code{GL_FALSE}. See
-@code{glConvolutionFilter2D}.
-
-@item @code{GL_CULL_FACE}
-
-
-@var{params} returns a single boolean value indicating whether polygon
-culling is enabled. The initial value is @code{GL_FALSE}. See
-@code{glCullFace}.
-
-@item @code{GL_CULL_FACE_MODE}
-
-
-@var{params} returns one value, a symbolic constant indicating which
-polygon faces are to be culled. The initial value is @code{GL_BACK}. See
-@code{glCullFace}.
-
-@item @code{GL_CURRENT_COLOR}
-
-
-@var{params} returns four values: the red, green, blue, and alpha values
-of the current color. Integer values, if requested, are linearly mapped
-from the internal floating-point representation such that 1.0 returns
-the most positive representable integer value, and @r{-1.0} returns the
-most negative representable integer value. The initial value is (1, 1,
-1, 1). See @code{glColor}.
-
-@item @code{GL_CURRENT_FOG_COORD}
-
-
-@var{params} returns one value, the current fog coordinate. The initial
-value is 0. See @code{glFogCoord}.
-
-@item @code{GL_CURRENT_INDEX}
-
-
-@var{params} returns one value, the current color index. The initial
-value is 1. See @code{glIndex}.
-
-@item @code{GL_CURRENT_NORMAL}
-
-
-@var{params} returns three values: the @var{x}, @var{y}, and @var{z}
-values of the current normal. Integer values, if requested, are linearly
-mapped from the internal floating-point representation such that 1.0
-returns the most positive representable integer value, and @r{-1.0}
-returns the most negative representable integer value. The initial value
-is (0, 0, 1). See @code{glNormal}.
-
-@item @code{GL_CURRENT_PROGRAM}
-
-
-@var{params} returns one value, the name of the program object that is
-currently active, or 0 if no program object is active. See
-@code{glUseProgram}.
-
-@item @code{GL_CURRENT_RASTER_COLOR}
-
-
-@var{params} returns four values: the red, green, blue, and alpha color
-values of the current raster position. Integer values, if requested, are
-linearly mapped from the internal floating-point representation such
-that 1.0 returns the most positive representable integer value, and
-@r{-1.0} returns the most negative representable integer value. The
-initial value is (1, 1, 1, 1). See @code{glRasterPos}.
-
-@item @code{GL_CURRENT_RASTER_DISTANCE}
-
-
-@var{params} returns one value, the distance from the eye to the current
-raster position. The initial value is 0. See @code{glRasterPos}.
-
-@item @code{GL_CURRENT_RASTER_INDEX}
-
-
-@var{params} returns one value, the color index of the current raster
-position. The initial value is 1. See @code{glRasterPos}.
-
-@item @code{GL_CURRENT_RASTER_POSITION}
-
-
-@var{params} returns four values: the @var{x}, @var{y}, @var{z}, and
-@var{w} components of the current raster position. @var{x}, @var{y}, and
-@var{z} are in window coordinates, and @var{w} is in clip coordinates.
-The initial value is (0, 0, 0, 1). See @code{glRasterPos}.
-
-@item @code{GL_CURRENT_RASTER_POSITION_VALID}
-
-
-@var{params} returns a single boolean value indicating whether the
-current raster position is valid. The initial value is @code{GL_TRUE}.
-See @code{glRasterPos}.
-
-@item @code{GL_CURRENT_RASTER_SECONDARY_COLOR}
-
-
-@var{params} returns four values: the red, green, blue, and alpha
-secondary color values of the current raster position. Integer values,
-if requested, are linearly mapped from the internal floating-point
-representation such that 1.0 returns the most positive representable
-integer value, and @r{-1.0} returns the most negative representable
-integer value. The initial value is (1, 1, 1, 1). See
-@code{glRasterPos}.
-
-@item @code{GL_CURRENT_RASTER_TEXTURE_COORDS}
-
-
-@var{params} returns four values: the @var{s}, @var{t}, @var{r}, and
-@var{q} texture coordinates of the current raster position. The initial
-value is (0, 0, 0, 1). See @code{glRasterPos} and
-@code{glMultiTexCoord}.
-
-@item @code{GL_CURRENT_SECONDARY_COLOR}
-
-
-@var{params} returns four values: the red, green, blue, and alpha values
-of the current secondary color. Integer values, if requested, are
-linearly mapped from the internal floating-point representation such
-that 1.0 returns the most positive representable integer value, and
-@r{-1.0} returns the most negative representable integer value. The
-initial value is (0, 0, 0, 0). See @code{glSecondaryColor}.
-
-@item @code{GL_CURRENT_TEXTURE_COORDS}
-
-
-@var{params} returns four values: the @var{s}, @var{t}, @var{r}, and
-@var{q} current texture coordinates. The initial value is (0, 0, 0, 1).
-See @code{glMultiTexCoord}.
-
-@item @code{GL_DEPTH_BIAS}
-
-
-@var{params} returns one value, the depth bias factor used during pixel
-transfers. The initial value is 0. See @code{glPixelTransfer}.
-
-@item @code{GL_DEPTH_BITS}
-
-
-@var{params} returns one value, the number of bitplanes in the depth
-buffer.
-
-@item @code{GL_DEPTH_CLEAR_VALUE}
-
-
-@var{params} returns one value, the value that is used to clear the
-depth buffer. Integer values, if requested, are linearly mapped from the
-internal floating-point representation such that 1.0 returns the most
-positive representable integer value, and @r{-1.0} returns the most
-negative representable integer value. The initial value is 1. See
-@code{glClearDepth}.
-
-@item @code{GL_DEPTH_FUNC}
-
-
-@var{params} returns one value, the symbolic constant that indicates the
-depth comparison function. The initial value is @code{GL_LESS}. See
-@code{glDepthFunc}.
-
-@item @code{GL_DEPTH_RANGE}
-
-
-@var{params} returns two values: the near and far mapping limits for the
-depth buffer. Integer values, if requested, are linearly mapped from the
-internal floating-point representation such that 1.0 returns the most
-positive representable integer value, and @r{-1.0} returns the most
-negative representable integer value. The initial value is (0, 1). See
-@code{glDepthRange}.
-
-@item @code{GL_DEPTH_SCALE}
-
-
-@var{params} returns one value, the depth scale factor used during pixel
-transfers. The initial value is 1. See @code{glPixelTransfer}.
-
-@item @code{GL_DEPTH_TEST}
-
-
-@var{params} returns a single boolean value indicating whether depth
-testing of fragments is enabled. The initial value is @code{GL_FALSE}.
-See @code{glDepthFunc} and @code{glDepthRange}.
-
-@item @code{GL_DEPTH_WRITEMASK}
-
-
-@var{params} returns a single boolean value indicating if the depth
-buffer is enabled for writing. The initial value is @code{GL_TRUE}. See
-@code{glDepthMask}.
-
-@item @code{GL_DITHER}
-
-
-@var{params} returns a single boolean value indicating whether dithering
-of fragment colors and indices is enabled. The initial value is
-@code{GL_TRUE}.
-
-@item @code{GL_DOUBLEBUFFER}
-
-
-@var{params} returns a single boolean value indicating whether double
-buffering is supported.
-
-@item @code{GL_DRAW_BUFFER}
-
-
-@var{params} returns one value, a symbolic constant indicating which
-buffers are being drawn to. See @code{glDrawBuffer}. The initial value
-is @code{GL_BACK} if there are back buffers, otherwise it is
-@code{GL_FRONT}.
-
-@item @code{GL_DRAW_BUFFER}@var{i}
-
-
-@var{params} returns one value, a symbolic constant indicating which
-buffers are being drawn to by the corresponding output color. See
-@code{glDrawBuffers}. The initial value of @code{GL_DRAW_BUFFER0} is
-@code{GL_BACK} if there are back buffers, otherwise it is
-@code{GL_FRONT}. The initial values of draw buffers for all other output
-colors is @code{GL_NONE}.
-
-@item @code{GL_EDGE_FLAG}
-
-
-@var{params} returns a single boolean value indicating whether the
-current edge flag is @code{GL_TRUE} or @code{GL_FALSE}. The initial
-value is @code{GL_TRUE}. See @code{glEdgeFlag}.
-
-@item @code{GL_EDGE_FLAG_ARRAY}
-
-
-@var{params} returns a single boolean value indicating whether the edge
-flag array is enabled. The initial value is @code{GL_FALSE}. See
-@code{glEdgeFlagPointer}.
-
-@item @code{GL_EDGE_FLAG_ARRAY_BUFFER_BINDING}
-
-
-@var{params} returns a single value, the name of the buffer object
-associated with the edge flag array. This buffer object would have been
-bound to the target @code{GL_ARRAY_BUFFER} at the time of the most
-recent call to @code{glEdgeFlagPointer}. If no buffer object was bound
-to this target, 0 is returned. The initial value is 0. See
-@code{glBindBuffer}.
-
-@item @code{GL_EDGE_FLAG_ARRAY_STRIDE}
-
-
-@var{params} returns one value, the byte offset between consecutive edge
-flags in the edge flag array. The initial value is 0. See
-@code{glEdgeFlagPointer}.
-
-@item @code{GL_ELEMENT_ARRAY_BUFFER_BINDING}
-
-
-@var{params} returns a single value, the name of the buffer object
-currently bound to the target @code{GL_ELEMENT_ARRAY_BUFFER}. If no
-buffer object is bound to this target, 0 is returned. The initial value
-is 0. See @code{glBindBuffer}.
-
-@item @code{GL_FEEDBACK_BUFFER_SIZE}
-
-
-@var{params} returns one value, the size of the feedback buffer. See
-@code{glFeedbackBuffer}.
-
-@item @code{GL_FEEDBACK_BUFFER_TYPE}
-
-
-@var{params} returns one value, the type of the feedback buffer. See
-@code{glFeedbackBuffer}.
-
-@item @code{GL_FOG}
-
-
-@var{params} returns a single boolean value indicating whether fogging
-is enabled. The initial value is @code{GL_FALSE}. See @code{glFog}.
-
-@item @code{GL_FOG_COORD_ARRAY}
-
-
-@var{params} returns a single boolean value indicating whether the fog
-coordinate array is enabled. The initial value is @code{GL_FALSE}. See
-@code{glFogCoordPointer}.
-
-@item @code{GL_FOG_COORD_ARRAY_BUFFER_BINDING}
-
-
-@var{params} returns a single value, the name of the buffer object
-associated with the fog coordinate array. This buffer object would have
-been bound to the target @code{GL_ARRAY_BUFFER} at the time of the most
-recent call to @code{glFogCoordPointer}. If no buffer object was bound
-to this target, 0 is returned. The initial value is 0. See
-@code{glBindBuffer}.
-
-@item @code{GL_FOG_COORD_ARRAY_STRIDE}
-
-
-@var{params} returns one value, the byte offset between consecutive fog
-coordinates in the fog coordinate array. The initial value is 0. See
-@code{glFogCoordPointer}.
-
-@item @code{GL_FOG_COORD_ARRAY_TYPE}
-
-
-@var{params} returns one value, the type of the fog coordinate array.
-The initial value is @code{GL_FLOAT}. See @code{glFogCoordPointer}.
-
-@item @code{GL_FOG_COORD_SRC}
-
-
-@var{params} returns one value, a symbolic constant indicating the
-source of the fog coordinate. The initial value is
-@code{GL_FRAGMENT_DEPTH}. See @code{glFog}.
-
-@item @code{GL_FOG_COLOR}
-
-
-@var{params} returns four values: the red, green, blue, and alpha
-components of the fog color. Integer values, if requested, are linearly
-mapped from the internal floating-point representation such that 1.0
-returns the most positive representable integer value, and @r{-1.0}
-returns the most negative representable integer value. The initial value
-is (0, 0, 0, 0). See @code{glFog}.
-
-@item @code{GL_FOG_DENSITY}
-
-
-@var{params} returns one value, the fog density parameter. The initial
-value is 1. See @code{glFog}.
-
-@item @code{GL_FOG_END}
-
-
-@var{params} returns one value, the end factor for the linear fog
-equation. The initial value is 1. See @code{glFog}.
-
-@item @code{GL_FOG_HINT}
-
-
-@var{params} returns one value, a symbolic constant indicating the mode
-of the fog hint. The initial value is @code{GL_DONT_CARE}. See
-@code{glHint}.
-
-@item @code{GL_FOG_INDEX}
-
-
-@var{params} returns one value, the fog color index. The initial value
-is 0. See @code{glFog}.
-
-@item @code{GL_FOG_MODE}
-
-
-@var{params} returns one value, a symbolic constant indicating which fog
-equation is selected. The initial value is @code{GL_EXP}. See
-@code{glFog}.
-
-@item @code{GL_FOG_START}
-
-
-@var{params} returns one value, the start factor for the linear fog
-equation. The initial value is 0. See @code{glFog}.
-
-@item @code{GL_FRAGMENT_SHADER_DERIVATIVE_HINT}
-
-
-@var{params} returns one value, a symbolic constant indicating the mode
-of the derivative accuracy hint for fragment shaders. The initial value
-is @code{GL_DONT_CARE}. See @code{glHint}.
-
-@item @code{GL_FRONT_FACE}
-
-
-@var{params} returns one value, a symbolic constant indicating whether
-clockwise or counterclockwise polygon winding is treated as
-front-facing. The initial value is @code{GL_CCW}. See
-@code{glFrontFace}.
-
-@item @code{GL_GENERATE_MIPMAP_HINT}
-
-
-@var{params} returns one value, a symbolic constant indicating the mode
-of the mipmap generation filtering hint. The initial value is
-@code{GL_DONT_CARE}. See @code{glHint}.
-
-@item @code{GL_GREEN_BIAS}
-
-
-@var{params} returns one value, the green bias factor used during pixel
-transfers. The initial value is 0.
-
-@item @code{GL_GREEN_BITS}
-
-
-@var{params} returns one value, the number of green bitplanes in each
-color buffer.
-
-@item @code{GL_GREEN_SCALE}
-
-
-@var{params} returns one value, the green scale factor used during pixel
-transfers. The initial value is 1. See @code{glPixelTransfer}.
-
-@item @code{GL_HISTOGRAM}
-
-
-@var{params} returns a single boolean value indicating whether histogram
-is enabled. The initial value is @code{GL_FALSE}. See
-@code{glHistogram}.
-
-@item @code{GL_INDEX_ARRAY}
-
-
-@var{params} returns a single boolean value indicating whether the color
-index array is enabled. The initial value is @code{GL_FALSE}. See
-@code{glIndexPointer}.
-
-@item @code{GL_INDEX_ARRAY_BUFFER_BINDING}
-
-
-@var{params} returns a single value, the name of the buffer object
-associated with the color index array. This buffer object would have
-been bound to the target @code{GL_ARRAY_BUFFER} at the time of the most
-recent call to @code{glIndexPointer}. If no buffer object was bound to
-this target, 0 is returned. The initial value is 0. See
-@code{glBindBuffer}.
-
-@item @code{GL_INDEX_ARRAY_STRIDE}
-
-
-@var{params} returns one value, the byte offset between consecutive
-color indexes in the color index array. The initial value is 0. See
-@code{glIndexPointer}.
-
-@item @code{GL_INDEX_ARRAY_TYPE}
-
-
-@var{params} returns one value, the data type of indexes in the color
-index array. The initial value is @code{GL_FLOAT}. See
-@code{glIndexPointer}.
-
-@item @code{GL_INDEX_BITS}
-
-
-@var{params} returns one value, the number of bitplanes in each color
-index buffer.
-
-@item @code{GL_INDEX_CLEAR_VALUE}
-
-
-@var{params} returns one value, the color index used to clear the color
-index buffers. The initial value is 0. See @code{glClearIndex}.
-
-@item @code{GL_INDEX_LOGIC_OP}
-
-
-@var{params} returns a single boolean value indicating whether a
-fragment's index values are merged into the framebuffer using a logical
-operation. The initial value is @code{GL_FALSE}. See @code{glLogicOp}.
-
-@item @code{GL_INDEX_MODE}
-
-
-@var{params} returns a single boolean value indicating whether the GL is
-in color index mode (@code{GL_TRUE}) or RGBA mode (@code{GL_FALSE}).
-
-@item @code{GL_INDEX_OFFSET}
-
-
-@var{params} returns one value, the offset added to color and stencil
-indices during pixel transfers. The initial value is 0. See
-@code{glPixelTransfer}.
-
-@item @code{GL_INDEX_SHIFT}
-
-
-@var{params} returns one value, the amount that color and stencil
-indices are shifted during pixel transfers. The initial value is 0. See
-@code{glPixelTransfer}.
-
-@item @code{GL_INDEX_WRITEMASK}
-
-
-@var{params} returns one value, a mask indicating which bitplanes of
-each color index buffer can be written. The initial value is all 1's.
-See @code{glIndexMask}.
-
-@item @code{GL_LIGHT}@var{i}
-
-
-@var{params} returns a single boolean value indicating whether the
-specified light is enabled. The initial value is @code{GL_FALSE}. See
-@code{glLight} and @code{glLightModel}.
-
-@item @code{GL_LIGHTING}
-
-
-@var{params} returns a single boolean value indicating whether lighting
-is enabled. The initial value is @code{GL_FALSE}. See
-@code{glLightModel}.
-
-@item @code{GL_LIGHT_MODEL_AMBIENT}
-
-
-@var{params} returns four values: the red, green, blue, and alpha
-components of the ambient intensity of the entire scene. Integer values,
-if requested, are linearly mapped from the internal floating-point
-representation such that 1.0 returns the most positive representable
-integer value, and @r{-1.0} returns the most negative representable
-integer value. The initial value is (0.2, 0.2, 0.2, 1.0). See
-@code{glLightModel}.
-
-@item @code{GL_LIGHT_MODEL_COLOR_CONTROL}
-
-
-@var{params} returns single enumerated value indicating whether specular
-reflection calculations are separated from normal lighting computations.
-The initial value is @code{GL_SINGLE_COLOR}.
-
-@item @code{GL_LIGHT_MODEL_LOCAL_VIEWER}
-
-
-@var{params} returns a single boolean value indicating whether specular
-reflection calculations treat the viewer as being local to the scene.
-The initial value is @code{GL_FALSE}. See @code{glLightModel}.
-
-@item @code{GL_LIGHT_MODEL_TWO_SIDE}
-
-
-@var{params} returns a single boolean value indicating whether separate
-materials are used to compute lighting for front- and back-facing
-polygons. The initial value is @code{GL_FALSE}. See @code{glLightModel}.
-
-@item @code{GL_LINE_SMOOTH}
-
-
-@var{params} returns a single boolean value indicating whether
-antialiasing of lines is enabled. The initial value is @code{GL_FALSE}.
-See @code{glLineWidth}.
-
-@item @code{GL_LINE_SMOOTH_HINT}
-
-
-@var{params} returns one value, a symbolic constant indicating the mode
-of the line antialiasing hint. The initial value is @code{GL_DONT_CARE}.
-See @code{glHint}.
-
-@item @code{GL_LINE_STIPPLE}
-
-
-@var{params} returns a single boolean value indicating whether stippling
-of lines is enabled. The initial value is @code{GL_FALSE}. See
-@code{glLineStipple}.
-
-@item @code{GL_LINE_STIPPLE_PATTERN}
-
-
-@var{params} returns one value, the 16-bit line stipple pattern. The
-initial value is all 1's. See @code{glLineStipple}.
-
-@item @code{GL_LINE_STIPPLE_REPEAT}
-
-
-@var{params} returns one value, the line stipple repeat factor. The
-initial value is 1. See @code{glLineStipple}.
-
-@item @code{GL_LINE_WIDTH}
-
-
-@var{params} returns one value, the line width as specified with
-@code{glLineWidth}. The initial value is 1.
-
-@item @code{GL_LINE_WIDTH_GRANULARITY}
-
-
-@var{params} returns one value, the width difference between adjacent
-supported widths for antialiased lines. See @code{glLineWidth}.
-
-@item @code{GL_LINE_WIDTH_RANGE}
-
-
-@var{params} returns two values: the smallest and largest supported
-widths for antialiased lines. See @code{glLineWidth}.
-
-@item @code{GL_LIST_BASE}
-
-
-@var{params} returns one value, the base offset added to all names in
-arrays presented to @code{glCallLists}. The initial value is 0. See
-@code{glListBase}.
-
-@item @code{GL_LIST_INDEX}
-
-
-@var{params} returns one value, the name of the display list currently
-under construction. 0 is returned if no display list is currently under
-construction. The initial value is 0. See @code{glNewList}.
-
-@item @code{GL_LIST_MODE}
-
-
-@var{params} returns one value, a symbolic constant indicating the
-construction mode of the display list currently under construction. The
-initial value is 0. See @code{glNewList}.
-
-@item @code{GL_LOGIC_OP_MODE}
-
-
-@var{params} returns one value, a symbolic constant indicating the
-selected logic operation mode. The initial value is @code{GL_COPY}. See
-@code{glLogicOp}.
-
-@item @code{GL_MAP1_COLOR_4}
-
-
-@var{params} returns a single boolean value indicating whether 1D
-evaluation generates colors. The initial value is @code{GL_FALSE}. See
-@code{glMap1}.
-
-@item @code{GL_MAP1_GRID_DOMAIN}
-
-
-@var{params} returns two values: the endpoints of the 1D map's grid
-domain. The initial value is (0, 1). See @code{glMapGrid}.
-
-@item @code{GL_MAP1_GRID_SEGMENTS}
-
-
-@var{params} returns one value, the number of partitions in the 1D map's
-grid domain. The initial value is 1. See @code{glMapGrid}.
-
-@item @code{GL_MAP1_INDEX}
-
-
-@var{params} returns a single boolean value indicating whether 1D
-evaluation generates color indices. The initial value is
-@code{GL_FALSE}. See @code{glMap1}.
-
-@item @code{GL_MAP1_NORMAL}
-
-
-@var{params} returns a single boolean value indicating whether 1D
-evaluation generates normals. The initial value is @code{GL_FALSE}. See
-@code{glMap1}.
-
-@item @code{GL_MAP1_TEXTURE_COORD_1}
-
-
-@var{params} returns a single boolean value indicating whether 1D
-evaluation generates 1D texture coordinates. The initial value is
-@code{GL_FALSE}. See @code{glMap1}.
-
-@item @code{GL_MAP1_TEXTURE_COORD_2}
-
-
-@var{params} returns a single boolean value indicating whether 1D
-evaluation generates 2D texture coordinates. The initial value is
-@code{GL_FALSE}. See @code{glMap1}.
-
-@item @code{GL_MAP1_TEXTURE_COORD_3}
-
-
-@var{params} returns a single boolean value indicating whether 1D
-evaluation generates 3D texture coordinates. The initial value is
-@code{GL_FALSE}. See @code{glMap1}.
-
-@item @code{GL_MAP1_TEXTURE_COORD_4}
-
-
-@var{params} returns a single boolean value indicating whether 1D
-evaluation generates 4D texture coordinates. The initial value is
-@code{GL_FALSE}. See @code{glMap1}.
-
-@item @code{GL_MAP1_VERTEX_3}
-
-
-@var{params} returns a single boolean value indicating whether 1D
-evaluation generates 3D vertex coordinates. The initial value is
-@code{GL_FALSE}. See @code{glMap1}.
-
-@item @code{GL_MAP1_VERTEX_4}
-
-
-@var{params} returns a single boolean value indicating whether 1D
-evaluation generates 4D vertex coordinates. The initial value is
-@code{GL_FALSE}. See @code{glMap1}.
-
-@item @code{GL_MAP2_COLOR_4}
-
-
-@var{params} returns a single boolean value indicating whether 2D
-evaluation generates colors. The initial value is @code{GL_FALSE}. See
-@code{glMap2}.
-
-@item @code{GL_MAP2_GRID_DOMAIN}
-
-
-@var{params} returns four values: the endpoints of the 2D map's
-@r{@var{i}} and @r{@var{j}} grid domains. The initial value is (0,1;
-0,1). See @code{glMapGrid}.
-
-@item @code{GL_MAP2_GRID_SEGMENTS}
-
-
-@var{params} returns two values: the number of partitions in the 2D
-map's @r{@var{i}} and @r{@var{j}} grid domains. The initial value is
-(1,1). See @code{glMapGrid}.
-
-@item @code{GL_MAP2_INDEX}
-
-
-@var{params} returns a single boolean value indicating whether 2D
-evaluation generates color indices. The initial value is
-@code{GL_FALSE}. See @code{glMap2}.
-
-@item @code{GL_MAP2_NORMAL}
-
-
-@var{params} returns a single boolean value indicating whether 2D
-evaluation generates normals. The initial value is @code{GL_FALSE}. See
-@code{glMap2}.
-
-@item @code{GL_MAP2_TEXTURE_COORD_1}
-
-
-@var{params} returns a single boolean value indicating whether 2D
-evaluation generates 1D texture coordinates. The initial value is
-@code{GL_FALSE}. See @code{glMap2}.
-
-@item @code{GL_MAP2_TEXTURE_COORD_2}
-
-
-@var{params} returns a single boolean value indicating whether 2D
-evaluation generates 2D texture coordinates. The initial value is
-@code{GL_FALSE}. See @code{glMap2}.
-
-@item @code{GL_MAP2_TEXTURE_COORD_3}
-
-
-@var{params} returns a single boolean value indicating whether 2D
-evaluation generates 3D texture coordinates. The initial value is
-@code{GL_FALSE}. See @code{glMap2}.
-
-@item @code{GL_MAP2_TEXTURE_COORD_4}
-
-
-@var{params} returns a single boolean value indicating whether 2D
-evaluation generates 4D texture coordinates. The initial value is
-@code{GL_FALSE}. See @code{glMap2}.
-
-@item @code{GL_MAP2_VERTEX_3}
-
-
-@var{params} returns a single boolean value indicating whether 2D
-evaluation generates 3D vertex coordinates. The initial value is
-@code{GL_FALSE}. See @code{glMap2}.
-
-@item @code{GL_MAP2_VERTEX_4}
-
-
-@var{params} returns a single boolean value indicating whether 2D
-evaluation generates 4D vertex coordinates. The initial value is
-@code{GL_FALSE}. See @code{glMap2}.
-
-@item @code{GL_MAP_COLOR}
-
-
-@var{params} returns a single boolean value indicating if colors and
-color indices are to be replaced by table lookup during pixel transfers.
-The initial value is @code{GL_FALSE}. See @code{glPixelTransfer}.
-
-@item @code{GL_MAP_STENCIL}
-
-
-@var{params} returns a single boolean value indicating if stencil
-indices are to be replaced by table lookup during pixel transfers. The
-initial value is @code{GL_FALSE}. See @code{glPixelTransfer}.
-
-@item @code{GL_MATRIX_MODE}
-
-
-@var{params} returns one value, a symbolic constant indicating which
-matrix stack is currently the target of all matrix operations. The
-initial value is @code{GL_MODELVIEW}. See @code{glMatrixMode}.
-
-@item @code{GL_MAX_3D_TEXTURE_SIZE}
-
-
-@var{params} returns one value, a rough estimate of the largest 3D
-texture that the GL can handle. The value must be at least 16. If the GL
-version is 1.2 or greater, use @code{GL_PROXY_TEXTURE_3D} to determine
-if a texture is too large. See @code{glTexImage3D}.
-
-@item @code{GL_MAX_CLIENT_ATTRIB_STACK_DEPTH}
-
-
-@var{params} returns one value indicating the maximum supported depth of
-the client attribute stack. See @code{glPushClientAttrib}.
-
-@item @code{GL_MAX_ATTRIB_STACK_DEPTH}
-
-
-@var{params} returns one value, the maximum supported depth of the
-attribute stack. The value must be at least 16. See @code{glPushAttrib}.
-
-@item @code{GL_MAX_CLIP_PLANES}
-
-
-@var{params} returns one value, the maximum number of
-application-defined clipping planes. The value must be at least 6. See
-@code{glClipPlane}.
-
-@item @code{GL_MAX_COLOR_MATRIX_STACK_DEPTH}
-
-
-@var{params} returns one value, the maximum supported depth of the color
-matrix stack. The value must be at least 2. See @code{glPushMatrix}.
-
-@item @code{GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS}
-
-
-@var{params} returns one value, the maximum supported texture image
-units that can be used to access texture maps from the vertex shader and
-the fragment processor combined. If both the vertex shader and the
-fragment processing stage access the same texture image unit, then that
-counts as using two texture image units against this limit. The value
-must be at least 2. See @code{glActiveTexture}.
-
-@item @code{GL_MAX_CUBE_MAP_TEXTURE_SIZE}
-
-
-@var{params} returns one value. The value gives a rough estimate of the
-largest cube-map texture that the GL can handle. The value must be at
-least 16. If the GL version is 1.3 or greater, use
-@code{GL_PROXY_TEXTURE_CUBE_MAP} to determine if a texture is too large.
-See @code{glTexImage2D}.
-
-@item @code{GL_MAX_DRAW_BUFFERS}
-
-
-@var{params} returns one value, the maximum number of simultaneous
-output colors allowed from a fragment shader using the
-@code{gl_FragData} built-in array. The value must be at least 1. See
-@code{glDrawBuffers}.
-
-@item @code{GL_MAX_ELEMENTS_INDICES}
-
-
-@var{params} returns one value, the recommended maximum number of vertex
-array indices. See @code{glDrawRangeElements}.
-
-@item @code{GL_MAX_ELEMENTS_VERTICES}
-
-
-@var{params} returns one value, the recommended maximum number of vertex
-array vertices. See @code{glDrawRangeElements}.
-
-@item @code{GL_MAX_EVAL_ORDER}
-
-
-@var{params} returns one value, the maximum equation order supported by
-1D and 2D evaluators. The value must be at least 8. See @code{glMap1}
-and @code{glMap2}.
-
-@item @code{GL_MAX_FRAGMENT_UNIFORM_COMPONENTS}
-
-
-@var{params} returns one value, the maximum number of individual
-floating-point, integer, or boolean values that can be held in uniform
-variable storage for a fragment shader. The value must be at least 64.
-See @code{glUniform}.
-
-@item @code{GL_MAX_LIGHTS}
-
-
-@var{params} returns one value, the maximum number of lights. The value
-must be at least 8. See @code{glLight}.
-
-@item @code{GL_MAX_LIST_NESTING}
-
-
-@var{params} returns one value, the maximum recursion depth allowed
-during display-list traversal. The value must be at least 64. See
-@code{glCallList}.
-
-@item @code{GL_MAX_MODELVIEW_STACK_DEPTH}
-
-
-@var{params} returns one value, the maximum supported depth of the
-modelview matrix stack. The value must be at least 32. See
-@code{glPushMatrix}.
-
-@item @code{GL_MAX_NAME_STACK_DEPTH}
-
-
-@var{params} returns one value, the maximum supported depth of the
-selection name stack. The value must be at least 64. See
-@code{glPushName}.
-
-@item @code{GL_MAX_PIXEL_MAP_TABLE}
-
-
-@var{params} returns one value, the maximum supported size of a
-@code{glPixelMap} lookup table. The value must be at least 32. See
-@code{glPixelMap}.
-
-@item @code{GL_MAX_PROJECTION_STACK_DEPTH}
-
-
-@var{params} returns one value, the maximum supported depth of the
-projection matrix stack. The value must be at least 2. See
-@code{glPushMatrix}.
-
-@item @code{GL_MAX_TEXTURE_COORDS}
-
-
-@var{params} returns one value, the maximum number of texture coordinate
-sets available to vertex and fragment shaders. The value must be at
-least 2. See @code{glActiveTexture} and @code{glClientActiveTexture}.
-
-@item @code{GL_MAX_TEXTURE_IMAGE_UNITS}
-
-
-@var{params} returns one value, the maximum supported texture image
-units that can be used to access texture maps from the fragment shader.
-The value must be at least 2. See @code{glActiveTexture}.
-
-@item @code{GL_MAX_TEXTURE_LOD_BIAS}
-
-
-@var{params} returns one value, the maximum, absolute value of the
-texture level-of-detail bias. The value must be at least 4.
-
-@item @code{GL_MAX_TEXTURE_SIZE}
-
-
-@var{params} returns one value. The value gives a rough estimate of the
-largest texture that the GL can handle. The value must be at least 64.
-If the GL version is 1.1 or greater, use @code{GL_PROXY_TEXTURE_1D} or
-@code{GL_PROXY_TEXTURE_2D} to determine if a texture is too large. See
-@code{glTexImage1D} and @code{glTexImage2D}.
-
-@item @code{GL_MAX_TEXTURE_STACK_DEPTH}
-
-
-@var{params} returns one value, the maximum supported depth of the
-texture matrix stack. The value must be at least 2. See
-@code{glPushMatrix}.
-
-@item @code{GL_MAX_TEXTURE_UNITS}
-
-
-@var{params} returns a single value indicating the number of
-conventional texture units supported. Each conventional texture unit
-includes both a texture coordinate set and a texture image unit.
-Conventional texture units may be used for fixed-function (non-shader)
-rendering. The value must be at least 2. Additional texture coordinate
-sets and texture image units may be accessed from vertex and fragment
-shaders. See @code{glActiveTexture} and @code{glClientActiveTexture}.
-
-@item @code{GL_MAX_VARYING_FLOATS}
-
-
-@var{params} returns one value, the maximum number of interpolators
-available for processing varying variables used by vertex and fragment
-shaders. This value represents the number of individual floating-point
-values that can be interpolated; varying variables declared as vectors,
-matrices, and arrays will all consume multiple interpolators. The value
-must be at least 32.
-
-@item @code{GL_MAX_VERTEX_ATTRIBS}
-
-
-@var{params} returns one value, the maximum number of 4-component
-generic vertex attributes accessible to a vertex shader. The value must
-be at least 16. See @code{glVertexAttrib}.
-
-@item @code{GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS}
-
-
-@var{params} returns one value, the maximum supported texture image
-units that can be used to access texture maps from the vertex shader.
-The value may be 0. See @code{glActiveTexture}.
-
-@item @code{GL_MAX_VERTEX_UNIFORM_COMPONENTS}
-
-
-@var{params} returns one value, the maximum number of individual
-floating-point, integer, or boolean values that can be held in uniform
-variable storage for a vertex shader. The value must be at least 512.
-See @code{glUniform}.
-
-@item @code{GL_MAX_VIEWPORT_DIMS}
-
-
-@var{params} returns two values: the maximum supported width and height
-of the viewport. These must be at least as large as the visible
-dimensions of the display being rendered to. See @code{glViewport}.
-
-@item @code{GL_MINMAX}
-
-
-@var{params} returns a single boolean value indicating whether pixel
-minmax values are computed. The initial value is @code{GL_FALSE}. See
-@code{glMinmax}.
-
-@item @code{GL_MODELVIEW_MATRIX}
-
-
-@var{params} returns sixteen values: the modelview matrix on the top of
-the modelview matrix stack. Initially this matrix is the identity
-matrix. See @code{glPushMatrix}.
-
-@item @code{GL_MODELVIEW_STACK_DEPTH}
-
-
-@var{params} returns one value, the number of matrices on the modelview
-matrix stack. The initial value is 1. See @code{glPushMatrix}.
-
-@item @code{GL_NAME_STACK_DEPTH}
-
-
-@var{params} returns one value, the number of names on the selection
-name stack. The initial value is 0. See @code{glPushName}.
-
-@item @code{GL_NORMAL_ARRAY}
-
-
-@var{params} returns a single boolean value, indicating whether the
-normal array is enabled. The initial value is @code{GL_FALSE}. See
-@code{glNormalPointer}.
-
-@item @code{GL_NORMAL_ARRAY_BUFFER_BINDING}
-
-
-@var{params} returns a single value, the name of the buffer object
-associated with the normal array. This buffer object would have been
-bound to the target @code{GL_ARRAY_BUFFER} at the time of the most
-recent call to @code{glNormalPointer}. If no buffer object was bound to
-this target, 0 is returned. The initial value is 0. See
-@code{glBindBuffer}.
-
-@item @code{GL_NORMAL_ARRAY_STRIDE}
-
-
-@var{params} returns one value, the byte offset between consecutive
-normals in the normal array. The initial value is 0. See
-@code{glNormalPointer}.
-
-@item @code{GL_NORMAL_ARRAY_TYPE}
-
-
-@var{params} returns one value, the data type of each coordinate in the
-normal array. The initial value is @code{GL_FLOAT}. See
-@code{glNormalPointer}.
-
-@item @code{GL_NORMALIZE}
-
-
-@var{params} returns a single boolean value indicating whether normals
-are automatically scaled to unit length after they have been transformed
-to eye coordinates. The initial value is @code{GL_FALSE}. See
-@code{glNormal}.
-
-@item @code{GL_NUM_COMPRESSED_TEXTURE_FORMATS}
-
-
-@var{params} returns a single integer value indicating the number of
-available compressed texture formats. The minimum value is 0. See
-@code{glCompressedTexImage2D}.
-
-@item @code{GL_PACK_ALIGNMENT}
-
-
-@var{params} returns one value, the byte alignment used for writing
-pixel data to memory. The initial value is 4. See @code{glPixelStore}.
-
-@item @code{GL_PACK_IMAGE_HEIGHT}
-
-
-@var{params} returns one value, the image height used for writing pixel
-data to memory. The initial value is 0. See @code{glPixelStore}.
-
-@item @code{GL_PACK_LSB_FIRST}
-
-
-@var{params} returns a single boolean value indicating whether
-single-bit pixels being written to memory are written first to the least
-significant bit of each unsigned byte. The initial value is
-@code{GL_FALSE}. See @code{glPixelStore}.
-
-@item @code{GL_PACK_ROW_LENGTH}
-
-
-@var{params} returns one value, the row length used for writing pixel
-data to memory. The initial value is 0. See @code{glPixelStore}.
-
-@item @code{GL_PACK_SKIP_IMAGES}
-
-
-@var{params} returns one value, the number of pixel images skipped
-before the first pixel is written into memory. The initial value is 0.
-See @code{glPixelStore}.
-
-@item @code{GL_PACK_SKIP_PIXELS}
-
-
-@var{params} returns one value, the number of pixel locations skipped
-before the first pixel is written into memory. The initial value is 0.
-See @code{glPixelStore}.
-
-@item @code{GL_PACK_SKIP_ROWS}
-
-
-@var{params} returns one value, the number of rows of pixel locations
-skipped before the first pixel is written into memory. The initial value
-is 0. See @code{glPixelStore}.
-
-@item @code{GL_PACK_SWAP_BYTES}
-
-
-@var{params} returns a single boolean value indicating whether the bytes
-of two-byte and four-byte pixel indices and components are swapped
-before being written to memory. The initial value is @code{GL_FALSE}.
-See @code{glPixelStore}.
-
-@item @code{GL_PERSPECTIVE_CORRECTION_HINT}
-
-
-@var{params} returns one value, a symbolic constant indicating the mode
-of the perspective correction hint. The initial value is
-@code{GL_DONT_CARE}. See @code{glHint}.
-
-@item @code{GL_PIXEL_MAP_A_TO_A_SIZE}
-
-
-@var{params} returns one value, the size of the alpha-to-alpha pixel
-translation table. The initial value is 1. See @code{glPixelMap}.
-
-@item @code{GL_PIXEL_MAP_B_TO_B_SIZE}
-
-
-@var{params} returns one value, the size of the blue-to-blue pixel
-translation table. The initial value is 1. See @code{glPixelMap}.
-
-@item @code{GL_PIXEL_MAP_G_TO_G_SIZE}
-
-
-@var{params} returns one value, the size of the green-to-green pixel
-translation table. The initial value is 1. See @code{glPixelMap}.
-
-@item @code{GL_PIXEL_MAP_I_TO_A_SIZE}
-
-
-@var{params} returns one value, the size of the index-to-alpha pixel
-translation table. The initial value is 1. See @code{glPixelMap}.
-
-@item @code{GL_PIXEL_MAP_I_TO_B_SIZE}
-
-
-@var{params} returns one value, the size of the index-to-blue pixel
-translation table. The initial value is 1. See @code{glPixelMap}.
-
-@item @code{GL_PIXEL_MAP_I_TO_G_SIZE}
-
-
-@var{params} returns one value, the size of the index-to-green pixel
-translation table. The initial value is 1. See @code{glPixelMap}.
-
-@item @code{GL_PIXEL_MAP_I_TO_I_SIZE}
-
-
-@var{params} returns one value, the size of the index-to-index pixel
-translation table. The initial value is 1. See @code{glPixelMap}.
-
-@item @code{GL_PIXEL_MAP_I_TO_R_SIZE}
-
-
-@var{params} returns one value, the size of the index-to-red pixel
-translation table. The initial value is 1. See @code{glPixelMap}.
-
-@item @code{GL_PIXEL_MAP_R_TO_R_SIZE}
-
-
-@var{params} returns one value, the size of the red-to-red pixel
-translation table. The initial value is 1. See @code{glPixelMap}.
-
-@item @code{GL_PIXEL_MAP_S_TO_S_SIZE}
-
-
-@var{params} returns one value, the size of the stencil-to-stencil pixel
-translation table. The initial value is 1. See @code{glPixelMap}.
-
-@item @code{GL_PIXEL_PACK_BUFFER_BINDING}
-
-
-@var{params} returns a single value, the name of the buffer object
-currently bound to the target @code{GL_PIXEL_PACK_BUFFER}. If no buffer
-object is bound to this target, 0 is returned. The initial value is 0.
-See @code{glBindBuffer}.
-
-@item @code{GL_PIXEL_UNPACK_BUFFER_BINDING}
-
-
-@var{params} returns a single value, the name of the buffer object
-currently bound to the target @code{GL_PIXEL_UNPACK_BUFFER}. If no
-buffer object is bound to this target, 0 is returned. The initial value
-is 0. See @code{glBindBuffer}.
-
-@item @code{GL_POINT_DISTANCE_ATTENUATION}
-
-
-@var{params} returns three values, the coefficients for computing the
-attenuation value for points. See @code{glPointParameter}.
-
-@item @code{GL_POINT_FADE_THRESHOLD_SIZE}
-
-
-@var{params} returns one value, the point size threshold for determining
-the point size. See @code{glPointParameter}.
-
-@item @code{GL_POINT_SIZE}
-
-
-@var{params} returns one value, the point size as specified by
-@code{glPointSize}. The initial value is 1.
-
-@item @code{GL_POINT_SIZE_GRANULARITY}
-
-
-@var{params} returns one value, the size difference between adjacent
-supported sizes for antialiased points. See @code{glPointSize}.
-
-@item @code{GL_POINT_SIZE_MAX}
-
-
-@var{params} returns one value, the upper bound for the attenuated point
-sizes. The initial value is 0.0. See @code{glPointParameter}.
-
-@item @code{GL_POINT_SIZE_MIN}
-
-
-@var{params} returns one value, the lower bound for the attenuated point
-sizes. The initial value is 1.0. See @code{glPointParameter}.
-
-@item @code{GL_POINT_SIZE_RANGE}
-
-
-@var{params} returns two values: the smallest and largest supported
-sizes for antialiased points. The smallest size must be at most 1, and
-the largest size must be at least 1. See @code{glPointSize}.
-
-@item @code{GL_POINT_SMOOTH}
-
-
-@var{params} returns a single boolean value indicating whether
-antialiasing of points is enabled. The initial value is @code{GL_FALSE}.
-See @code{glPointSize}.
-
-@item @code{GL_POINT_SMOOTH_HINT}
-
-
-@var{params} returns one value, a symbolic constant indicating the mode
-of the point antialiasing hint. The initial value is
-@code{GL_DONT_CARE}. See @code{glHint}.
-
-@item @code{GL_POINT_SPRITE}
-
-
-@var{params} returns a single boolean value indicating whether point
-sprite is enabled. The initial value is @code{GL_FALSE}.
-
-@item @code{GL_POLYGON_MODE}
-
-
-@var{params} returns two values: symbolic constants indicating whether
-front-facing and back-facing polygons are rasterized as points, lines,
-or filled polygons. The initial value is @code{GL_FILL}. See
-@code{glPolygonMode}.
-
-@item @code{GL_POLYGON_OFFSET_FACTOR}
-
-
-@var{params} returns one value, the scaling factor used to determine the
-variable offset that is added to the depth value of each fragment
-generated when a polygon is rasterized. The initial value is 0. See
-@code{glPolygonOffset}.
-
-@item @code{GL_POLYGON_OFFSET_UNITS}
-
-
-@var{params} returns one value. This value is multiplied by an
-implementation-specific value and then added to the depth value of each
-fragment generated when a polygon is rasterized. The initial value is 0.
-See @code{glPolygonOffset}.
-
-@item @code{GL_POLYGON_OFFSET_FILL}
-
-
-@var{params} returns a single boolean value indicating whether polygon
-offset is enabled for polygons in fill mode. The initial value is
-@code{GL_FALSE}. See @code{glPolygonOffset}.
-
-@item @code{GL_POLYGON_OFFSET_LINE}
-
-
-@var{params} returns a single boolean value indicating whether polygon
-offset is enabled for polygons in line mode. The initial value is
-@code{GL_FALSE}. See @code{glPolygonOffset}.
-
-@item @code{GL_POLYGON_OFFSET_POINT}
-
-
-@var{params} returns a single boolean value indicating whether polygon
-offset is enabled for polygons in point mode. The initial value is
-@code{GL_FALSE}. See @code{glPolygonOffset}.
-
-@item @code{GL_POLYGON_SMOOTH}
-
-
-@var{params} returns a single boolean value indicating whether
-antialiasing of polygons is enabled. The initial value is
-@code{GL_FALSE}. See @code{glPolygonMode}.
-
-@item @code{GL_POLYGON_SMOOTH_HINT}
-
-
-@var{params} returns one value, a symbolic constant indicating the mode
-of the polygon antialiasing hint. The initial value is
-@code{GL_DONT_CARE}. See @code{glHint}.
-
-@item @code{GL_POLYGON_STIPPLE}
-
-
-@var{params} returns a single boolean value indicating whether polygon
-stippling is enabled. The initial value is @code{GL_FALSE}. See
-@code{glPolygonStipple}.
-
-@item @code{GL_POST_COLOR_MATRIX_COLOR_TABLE}
-
-
-@var{params} returns a single boolean value indicating whether post
-color matrix transformation lookup is enabled. The initial value is
-@code{GL_FALSE}. See @code{glColorTable}.
-
-@item @code{GL_POST_COLOR_MATRIX_RED_BIAS}
-
-
-@var{params} returns one value, the red bias factor applied to RGBA
-fragments after color matrix transformations. The initial value is 0.
-See @code{glPixelTransfer}.
-
-@item @code{GL_POST_COLOR_MATRIX_GREEN_BIAS}
-
-
-@var{params} returns one value, the green bias factor applied to RGBA
-fragments after color matrix transformations. The initial value is 0.
-See @code{glPixelTransfer}
-
-@item @code{GL_POST_COLOR_MATRIX_BLUE_BIAS}
-
-
-@var{params} returns one value, the blue bias factor applied to RGBA
-fragments after color matrix transformations. The initial value is 0.
-See @code{glPixelTransfer}.
-
-@item @code{GL_POST_COLOR_MATRIX_ALPHA_BIAS}
-
-
-@var{params} returns one value, the alpha bias factor applied to RGBA
-fragments after color matrix transformations. The initial value is 0.
-See @code{glPixelTransfer}.
-
-@item @code{GL_POST_COLOR_MATRIX_RED_SCALE}
-
-
-@var{params} returns one value, the red scale factor applied to RGBA
-fragments after color matrix transformations. The initial value is 1.
-See @code{glPixelTransfer}.
-
-@item @code{GL_POST_COLOR_MATRIX_GREEN_SCALE}
-
-
-@var{params} returns one value, the green scale factor applied to RGBA
-fragments after color matrix transformations. The initial value is 1.
-See @code{glPixelTransfer}.
-
-@item @code{GL_POST_COLOR_MATRIX_BLUE_SCALE}
-
-
-@var{params} returns one value, the blue scale factor applied to RGBA
-fragments after color matrix transformations. The initial value is 1.
-See @code{glPixelTransfer}.
-
-@item @code{GL_POST_COLOR_MATRIX_ALPHA_SCALE}
-
-
-@var{params} returns one value, the alpha scale factor applied to RGBA
-fragments after color matrix transformations. The initial value is 1.
-See @code{glPixelTransfer}.
-
-@item @code{GL_POST_CONVOLUTION_COLOR_TABLE}
-
-
-@var{params} returns a single boolean value indicating whether post
-convolution lookup is enabled. The initial value is @code{GL_FALSE}. See
-@code{glColorTable}.
-
-@item @code{GL_POST_CONVOLUTION_RED_BIAS}
-
-
-@var{params} returns one value, the red bias factor applied to RGBA
-fragments after convolution. The initial value is 0. See
-@code{glPixelTransfer}.
-
-@item @code{GL_POST_CONVOLUTION_GREEN_BIAS}
-
-
-@var{params} returns one value, the green bias factor applied to RGBA
-fragments after convolution. The initial value is 0. See
-@code{glPixelTransfer}.
-
-@item @code{GL_POST_CONVOLUTION_BLUE_BIAS}
-
-
-@var{params} returns one value, the blue bias factor applied to RGBA
-fragments after convolution. The initial value is 0. See
-@code{glPixelTransfer}.
-
-@item @code{GL_POST_CONVOLUTION_ALPHA_BIAS}
-
-
-@var{params} returns one value, the alpha bias factor applied to RGBA
-fragments after convolution. The initial value is 0. See
-@code{glPixelTransfer}.
-
-@item @code{GL_POST_CONVOLUTION_RED_SCALE}
-
-
-@var{params} returns one value, the red scale factor applied to RGBA
-fragments after convolution. The initial value is 1. See
-@code{glPixelTransfer}.
-
-@item @code{GL_POST_CONVOLUTION_GREEN_SCALE}
-
-
-@var{params} returns one value, the green scale factor applied to RGBA
-fragments after convolution. The initial value is 1. See
-@code{glPixelTransfer}.
-
-@item @code{GL_POST_CONVOLUTION_BLUE_SCALE}
-
-
-@var{params} returns one value, the blue scale factor applied to RGBA
-fragments after convolution. The initial value is 1. See
-@code{glPixelTransfer}.
-
-@item @code{GL_POST_CONVOLUTION_ALPHA_SCALE}
-
-
-@var{params} returns one value, the alpha scale factor applied to RGBA
-fragments after convolution. The initial value is 1. See
-@code{glPixelTransfer}.
-
-@item @code{GL_PROJECTION_MATRIX}
-
-
-@var{params} returns sixteen values: the projection matrix on the top of
-the projection matrix stack. Initially this matrix is the identity
-matrix. See @code{glPushMatrix}.
-
-@item @code{GL_PROJECTION_STACK_DEPTH}
-
-
-@var{params} returns one value, the number of matrices on the projection
-matrix stack. The initial value is 1. See @code{glPushMatrix}.
-
-@item @code{GL_READ_BUFFER}
-
-
-@var{params} returns one value, a symbolic constant indicating which
-color buffer is selected for reading. The initial value is
-@code{GL_BACK} if there is a back buffer, otherwise it is
-@code{GL_FRONT}. See @code{glReadPixels} and @code{glAccum}.
-
-@item @code{GL_RED_BIAS}
-
-
-@var{params} returns one value, the red bias factor used during pixel
-transfers. The initial value is 0.
-
-@item @code{GL_RED_BITS}
-
-
-@var{params} returns one value, the number of red bitplanes in each
-color buffer.
-
-@item @code{GL_RED_SCALE}
-
-
-@var{params} returns one value, the red scale factor used during pixel
-transfers. The initial value is 1. See @code{glPixelTransfer}.
-
-@item @code{GL_RENDER_MODE}
-
-
-@var{params} returns one value, a symbolic constant indicating whether
-the GL is in render, select, or feedback mode. The initial value is
-@code{GL_RENDER}. See @code{glRenderMode}.
-
-@item @code{GL_RESCALE_NORMAL}
-
-
-@var{params} returns single boolean value indicating whether normal
-rescaling is enabled. See @code{glEnable}.
-
-@item @code{GL_RGBA_MODE}
-
-
-@var{params} returns a single boolean value indicating whether the GL is
-in RGBA mode (true) or color index mode (false). See @code{glColor}.
-
-@item @code{GL_SAMPLE_BUFFERS}
-
-
-@var{params} returns a single integer value indicating the number of
-sample buffers associated with the framebuffer. See
-@code{glSampleCoverage}.
-
-@item @code{GL_SAMPLE_COVERAGE_VALUE}
-
-
-@var{params} returns a single positive floating-point value indicating
-the current sample coverage value. See @code{glSampleCoverage}.
-
-@item @code{GL_SAMPLE_COVERAGE_INVERT}
-
-
-@var{params} returns a single boolean value indicating if the temporary
-coverage value should be inverted. See @code{glSampleCoverage}.
-
-@item @code{GL_SAMPLES}
-
-
-@var{params} returns a single integer value indicating the coverage mask
-size. See @code{glSampleCoverage}.
-
-@item @code{GL_SCISSOR_BOX}
-
-
-@var{params} returns four values: the @r{@var{x}} and @r{@var{y}} window
-coordinates of the scissor box, followed by its width and height.
-Initially the @r{@var{x}} and @r{@var{y}} window coordinates are both 0
-and the width and height are set to the size of the window. See
-@code{glScissor}.
-
-@item @code{GL_SCISSOR_TEST}
-
-
-@var{params} returns a single boolean value indicating whether
-scissoring is enabled. The initial value is @code{GL_FALSE}. See
-@code{glScissor}.
-
-@item @code{GL_SECONDARY_COLOR_ARRAY}
-
-
-@var{params} returns a single boolean value indicating whether the
-secondary color array is enabled. The initial value is @code{GL_FALSE}.
-See @code{glSecondaryColorPointer}.
-
-@item @code{GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING}
-
-
-@var{params} returns a single value, the name of the buffer object
-associated with the secondary color array. This buffer object would have
-been bound to the target @code{GL_ARRAY_BUFFER} at the time of the most
-recent call to @code{glSecondaryColorPointer}. If no buffer object was
-bound to this target, 0 is returned. The initial value is 0. See
-@code{glBindBuffer}.
-
-@item @code{GL_SECONDARY_COLOR_ARRAY_SIZE}
-
-
-@var{params} returns one value, the number of components per color in
-the secondary color array. The initial value is 3. See
-@code{glSecondaryColorPointer}.
-
-@item @code{GL_SECONDARY_COLOR_ARRAY_STRIDE}
-
-
-@var{params} returns one value, the byte offset between consecutive
-colors in the secondary color array. The initial value is 0. See
-@code{glSecondaryColorPointer}.
-
-@item @code{GL_SECONDARY_COLOR_ARRAY_TYPE}
-
-
-@var{params} returns one value, the data type of each component in the
-secondary color array. The initial value is @code{GL_FLOAT}. See
-@code{glSecondaryColorPointer}.
-
-@item @code{GL_SELECTION_BUFFER_SIZE}
-
-
-@var{params} return one value, the size of the selection buffer. See
-@code{glSelectBuffer}.
-
-@item @code{GL_SEPARABLE_2D}
-
-
-@var{params} returns a single boolean value indicating whether 2D
-separable convolution is enabled. The initial value is @code{GL_FALSE}.
-See @code{glSeparableFilter2D}.
-
-@item @code{GL_SHADE_MODEL}
-
-
-@var{params} returns one value, a symbolic constant indicating whether
-the shading mode is flat or smooth. The initial value is
-@code{GL_SMOOTH}. See @code{glShadeModel}.
-
-@item @code{GL_SMOOTH_LINE_WIDTH_RANGE}
-
-
-@var{params} returns two values, the smallest and largest supported
-widths for antialiased lines. See @code{glLineWidth}.
-
-@item @code{GL_SMOOTH_LINE_WIDTH_GRANULARITY}
-
-
-@var{params} returns one value, the granularity of widths for
-antialiased lines. See @code{glLineWidth}.
-
-@item @code{GL_SMOOTH_POINT_SIZE_RANGE}
-
-
-@var{params} returns two values, the smallest and largest supported
-widths for antialiased points. See @code{glPointSize}.
-
-@item @code{GL_SMOOTH_POINT_SIZE_GRANULARITY}
-
-
-@var{params} returns one value, the granularity of sizes for antialiased
-points. See @code{glPointSize}.
-
-@item @code{GL_STENCIL_BACK_FAIL}
-
-
-@var{params} returns one value, a symbolic constant indicating what
-action is taken for back-facing polygons when the stencil test fails.
-The initial value is @code{GL_KEEP}. See @code{glStencilOpSeparate}.
-
-@item @code{GL_STENCIL_BACK_FUNC}
-
-
-@var{params} returns one value, a symbolic constant indicating what
-function is used for back-facing polygons to compare the stencil
-reference value with the stencil buffer value. The initial value is
-@code{GL_ALWAYS}. See @code{glStencilFuncSeparate}.
-
-@item @code{GL_STENCIL_BACK_PASS_DEPTH_FAIL}
-
-
-@var{params} returns one value, a symbolic constant indicating what
-action is taken for back-facing polygons when the stencil test passes,
-but the depth test fails. The initial value is @code{GL_KEEP}. See
-@code{glStencilOpSeparate}.
-
-@item @code{GL_STENCIL_BACK_PASS_DEPTH_PASS}
-
-
-@var{params} returns one value, a symbolic constant indicating what
-action is taken for back-facing polygons when the stencil test passes
-and the depth test passes. The initial value is @code{GL_KEEP}. See
-@code{glStencilOpSeparate}.
-
-@item @code{GL_STENCIL_BACK_REF}
-
-
-@var{params} returns one value, the reference value that is compared
-with the contents of the stencil buffer for back-facing polygons. The
-initial value is 0. See @code{glStencilFuncSeparate}.
-
-@item @code{GL_STENCIL_BACK_VALUE_MASK}
-
-
-@var{params} returns one value, the mask that is used for back-facing
-polygons to mask both the stencil reference value and the stencil buffer
-value before they are compared. The initial value is all 1's. See
-@code{glStencilFuncSeparate}.
-
-@item @code{GL_STENCIL_BACK_WRITEMASK}
-
-
-@var{params} returns one value, the mask that controls writing of the
-stencil bitplanes for back-facing polygons. The initial value is all
-1's. See @code{glStencilMaskSeparate}.
-
-@item @code{GL_STENCIL_BITS}
-
-
-@var{params} returns one value, the number of bitplanes in the stencil
-buffer.
-
-@item @code{GL_STENCIL_CLEAR_VALUE}
-
-
-@var{params} returns one value, the index to which the stencil bitplanes
-are cleared. The initial value is 0. See @code{glClearStencil}.
-
-@item @code{GL_STENCIL_FAIL}
-
-
-@var{params} returns one value, a symbolic constant indicating what
-action is taken when the stencil test fails. The initial value is
-@code{GL_KEEP}. See @code{glStencilOp}. If the GL version is 2.0 or
-greater, this stencil state only affects non-polygons and front-facing
-polygons. Back-facing polygons use separate stencil state. See
-@code{glStencilOpSeparate}.
-
-@item @code{GL_STENCIL_FUNC}
-
-
-@var{params} returns one value, a symbolic constant indicating what
-function is used to compare the stencil reference value with the stencil
-buffer value. The initial value is @code{GL_ALWAYS}. See
-@code{glStencilFunc}. If the GL version is 2.0 or greater, this stencil
-state only affects non-polygons and front-facing polygons. Back-facing
-polygons use separate stencil state. See @code{glStencilFuncSeparate}.
-
-@item @code{GL_STENCIL_PASS_DEPTH_FAIL}
-
-
-@var{params} returns one value, a symbolic constant indicating what
-action is taken when the stencil test passes, but the depth test fails.
-The initial value is @code{GL_KEEP}. See @code{glStencilOp}. If the GL
-version is 2.0 or greater, this stencil state only affects non-polygons
-and front-facing polygons. Back-facing polygons use separate stencil
-state. See @code{glStencilOpSeparate}.
-
-@item @code{GL_STENCIL_PASS_DEPTH_PASS}
-
-
-@var{params} returns one value, a symbolic constant indicating what
-action is taken when the stencil test passes and the depth test passes.
-The initial value is @code{GL_KEEP}. See @code{glStencilOp}. If the GL
-version is 2.0 or greater, this stencil state only affects non-polygons
-and front-facing polygons. Back-facing polygons use separate stencil
-state. See @code{glStencilOpSeparate}.
-
-@item @code{GL_STENCIL_REF}
-
-
-@var{params} returns one value, the reference value that is compared
-with the contents of the stencil buffer. The initial value is 0. See
-@code{glStencilFunc}. If the GL version is 2.0 or greater, this stencil
-state only affects non-polygons and front-facing polygons. Back-facing
-polygons use separate stencil state. See @code{glStencilFuncSeparate}.
-
-@item @code{GL_STENCIL_TEST}
-
-
-@var{params} returns a single boolean value indicating whether stencil
-testing of fragments is enabled. The initial value is @code{GL_FALSE}.
-See @code{glStencilFunc} and @code{glStencilOp}.
-
-@item @code{GL_STENCIL_VALUE_MASK}
-
-
-@var{params} returns one value, the mask that is used to mask both the
-stencil reference value and the stencil buffer value before they are
-compared. The initial value is all 1's. See @code{glStencilFunc}. If the
-GL version is 2.0 or greater, this stencil state only affects
-non-polygons and front-facing polygons. Back-facing polygons use
-separate stencil state. See @code{glStencilFuncSeparate}.
-
-@item @code{GL_STENCIL_WRITEMASK}
-
-
-@var{params} returns one value, the mask that controls writing of the
-stencil bitplanes. The initial value is all 1's. See
-@code{glStencilMask}. If the GL version is 2.0 or greater, this stencil
-state only affects non-polygons and front-facing polygons. Back-facing
-polygons use separate stencil state. See @code{glStencilMaskSeparate}.
-
-@item @code{GL_STEREO}
-
-
-@var{params} returns a single boolean value indicating whether stereo
-buffers (left and right) are supported.
-
-@item @code{GL_SUBPIXEL_BITS}
-
-
-@var{params} returns one value, an estimate of the number of bits of
-subpixel resolution that are used to position rasterized geometry in
-window coordinates. The value must be at least 4.
-
-@item @code{GL_TEXTURE_1D}
-
-
-@var{params} returns a single boolean value indicating whether 1D
-texture mapping is enabled. The initial value is @code{GL_FALSE}. See
-@code{glTexImage1D}.
-
-@item @code{GL_TEXTURE_BINDING_1D}
-
-
-@var{params} returns a single value, the name of the texture currently
-bound to the target @code{GL_TEXTURE_1D}. The initial value is 0. See
-@code{glBindTexture}.
-
-@item @code{GL_TEXTURE_2D}
-
-
-@var{params} returns a single boolean value indicating whether 2D
-texture mapping is enabled. The initial value is @code{GL_FALSE}. See
-@code{glTexImage2D}.
-
-@item @code{GL_TEXTURE_BINDING_2D}
-
-
-@var{params} returns a single value, the name of the texture currently
-bound to the target @code{GL_TEXTURE_2D}. The initial value is 0. See
-@code{glBindTexture}.
-
-@item @code{GL_TEXTURE_3D}
-
-
-@var{params} returns a single boolean value indicating whether 3D
-texture mapping is enabled. The initial value is @code{GL_FALSE}. See
-@code{glTexImage3D}.
-
-@item @code{GL_TEXTURE_BINDING_3D}
-
-
-@var{params} returns a single value, the name of the texture currently
-bound to the target @code{GL_TEXTURE_3D}. The initial value is 0. See
-@code{glBindTexture}.
-
-@item @code{GL_TEXTURE_BINDING_CUBE_MAP}
-
-
-@var{params} returns a single value, the name of the texture currently
-bound to the target @code{GL_TEXTURE_CUBE_MAP}. The initial value is 0.
-See @code{glBindTexture}.
-
-@item @code{GL_TEXTURE_COMPRESSION_HINT}
-
-
-@var{params} returns a single value indicating the mode of the texture
-compression hint. The initial value is @code{GL_DONT_CARE}.
-
-@item @code{GL_TEXTURE_COORD_ARRAY}
-
-
-@var{params} returns a single boolean value indicating whether the
-texture coordinate array is enabled. The initial value is
-@code{GL_FALSE}. See @code{glTexCoordPointer}.
-
-@item @code{GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING}
-
-
-@var{params} returns a single value, the name of the buffer object
-associated with the texture coordinate array. This buffer object would
-have been bound to the target @code{GL_ARRAY_BUFFER} at the time of the
-most recent call to @code{glTexCoordPointer}. If no buffer object was
-bound to this target, 0 is returned. The initial value is 0. See
-@code{glBindBuffer}.
-
-@item @code{GL_TEXTURE_COORD_ARRAY_SIZE}
-
-
-@var{params} returns one value, the number of coordinates per element in
-the texture coordinate array. The initial value is 4. See
-@code{glTexCoordPointer}.
-
-@item @code{GL_TEXTURE_COORD_ARRAY_STRIDE}
-
-
-@var{params} returns one value, the byte offset between consecutive
-elements in the texture coordinate array. The initial value is 0. See
-@code{glTexCoordPointer}.
-
-@item @code{GL_TEXTURE_COORD_ARRAY_TYPE}
-
-
-@var{params} returns one value, the data type of the coordinates in the
-texture coordinate array. The initial value is @code{GL_FLOAT}. See
-@code{glTexCoordPointer}.
-
-@item @code{GL_TEXTURE_CUBE_MAP}
-
-
-@var{params} returns a single boolean value indicating whether
-cube-mapped texture mapping is enabled. The initial value is
-@code{GL_FALSE}. See @code{glTexImage2D}.
-
-@item @code{GL_TEXTURE_GEN_Q}
-
-
-@var{params} returns a single boolean value indicating whether automatic
-generation of the @var{q} texture coordinate is enabled. The initial
-value is @code{GL_FALSE}. See @code{glTexGen}.
-
-@item @code{GL_TEXTURE_GEN_R}
-
-
-@var{params} returns a single boolean value indicating whether automatic
-generation of the @var{r} texture coordinate is enabled. The initial
-value is @code{GL_FALSE}. See @code{glTexGen}.
-
-@item @code{GL_TEXTURE_GEN_S}
-
-
-@var{params} returns a single boolean value indicating whether automatic
-generation of the @var{S} texture coordinate is enabled. The initial
-value is @code{GL_FALSE}. See @code{glTexGen}.
-
-@item @code{GL_TEXTURE_GEN_T}
-
-
-@var{params} returns a single boolean value indicating whether automatic
-generation of the T texture coordinate is enabled. The initial value is
-@code{GL_FALSE}. See @code{glTexGen}.
-
-@item @code{GL_TEXTURE_MATRIX}
-
-
-@var{params} returns sixteen values: the texture matrix on the top of
-the texture matrix stack. Initially this matrix is the identity matrix.
-See @code{glPushMatrix}.
-
-@item @code{GL_TEXTURE_STACK_DEPTH}
-
-
-@var{params} returns one value, the number of matrices on the texture
-matrix stack. The initial value is 1. See @code{glPushMatrix}.
-
-@item @code{GL_TRANSPOSE_COLOR_MATRIX}
-
-
-@var{params} returns 16 values, the elements of the color matrix in
-row-major order. See @code{glLoadTransposeMatrix}.
-
-@item @code{GL_TRANSPOSE_MODELVIEW_MATRIX}
-
-
-@var{params} returns 16 values, the elements of the modelview matrix in
-row-major order. See @code{glLoadTransposeMatrix}.
-
-@item @code{GL_TRANSPOSE_PROJECTION_MATRIX}
-
-
-@var{params} returns 16 values, the elements of the projection matrix in
-row-major order. See @code{glLoadTransposeMatrix}.
-
-@item @code{GL_TRANSPOSE_TEXTURE_MATRIX}
-
-
-@var{params} returns 16 values, the elements of the texture matrix in
-row-major order. See @code{glLoadTransposeMatrix}.
-
-@item @code{GL_UNPACK_ALIGNMENT}
-
-
-@var{params} returns one value, the byte alignment used for reading
-pixel data from memory. The initial value is 4. See @code{glPixelStore}.
-
-@item @code{GL_UNPACK_IMAGE_HEIGHT}
-
-
-@var{params} returns one value, the image height used for reading pixel
-data from memory. The initial is 0. See @code{glPixelStore}.
-
-@item @code{GL_UNPACK_LSB_FIRST}
-
-
-@var{params} returns a single boolean value indicating whether
-single-bit pixels being read from memory are read first from the least
-significant bit of each unsigned byte. The initial value is
-@code{GL_FALSE}. See @code{glPixelStore}.
-
-@item @code{GL_UNPACK_ROW_LENGTH}
-
-
-@var{params} returns one value, the row length used for reading pixel
-data from memory. The initial value is 0. See @code{glPixelStore}.
-
-@item @code{GL_UNPACK_SKIP_IMAGES}
-
-
-@var{params} returns one value, the number of pixel images skipped
-before the first pixel is read from memory. The initial value is 0. See
-@code{glPixelStore}.
-
-@item @code{GL_UNPACK_SKIP_PIXELS}
-
-
-@var{params} returns one value, the number of pixel locations skipped
-before the first pixel is read from memory. The initial value is 0. See
-@code{glPixelStore}.
-
-@item @code{GL_UNPACK_SKIP_ROWS}
-
-
-@var{params} returns one value, the number of rows of pixel locations
-skipped before the first pixel is read from memory. The initial value is
-0. See @code{glPixelStore}.
+Because the GL does not include queries for the performance
+characteristics of an implementation, some applications are written to
+recognize known platforms and modify their GL usage based on known
+performance characteristics of these platforms. Strings @code{GL_VENDOR}
+and @code{GL_RENDERER} together uniquely specify a platform. They do not
+change from release to release and should be used by
+platform-recognition algorithms.
-@item @code{GL_UNPACK_SWAP_BYTES}
+Some applications want to make use of features that are not part of the
+standard GL. These features may be implemented as extensions to the
+standard GL. The @code{GL_EXTENSIONS} string is a space-separated list
+of supported GL extensions. (Extension names never contain a space
+character.)
+The @code{GL_VERSION} and @code{GL_SHADING_LANGUAGE_VERSION} strings
+begin with a version number. The version number uses one of these forms:
-@var{params} returns a single boolean value indicating whether the bytes
-of two-byte and four-byte pixel indices and components are swapped after
-being read from memory. The initial value is @code{GL_FALSE}. See
-@code{glPixelStore}.
+@var{major_number.minor_number}@var{major_number.minor_number.release_number}
-@item @code{GL_VERTEX_ARRAY}
+Vendor-specific information may follow the version number. Its format
+depends on the implementation, but a space always separates the version
+number and the vendor-specific information.
+All strings are null-terminated.
-@var{params} returns a single boolean value indicating whether the
-vertex array is enabled. The initial value is @code{GL_FALSE}. See
-@code{glVertexPointer}.
+@code{GL_INVALID_ENUM} is generated if @var{name} is not an accepted
+value.
-@item @code{GL_VERTEX_ARRAY_BUFFER_BINDING}
+@code{GL_INVALID_OPERATION} is generated if @code{glGetString} is
+executed between the execution of @code{glBegin} and the corresponding
+execution of @code{glEnd}.
+@end deftypefun
-@var{params} returns a single value, the name of the buffer object
-associated with the vertex array. This buffer object would have been
-bound to the target @code{GL_ARRAY_BUFFER} at the time of the most
-recent call to @code{glVertexPointer}. If no buffer object was bound to
-this target, 0 is returned. The initial value is 0. See
-@code{glBindBuffer}.
+@deftypefun void glGetTexImage target level format type img
+Return a texture image.
-@item @code{GL_VERTEX_ARRAY_SIZE}
+@table @asis
+@item @var{target}
+Specifies which texture is to be obtained. @code{GL_TEXTURE_1D},
+@code{GL_TEXTURE_2D}, @code{GL_TEXTURE_3D},
+@code{GL_TEXTURE_CUBE_MAP_POSITIVE_X},
+@code{GL_TEXTURE_CUBE_MAP_NEGATIVE_X},
+@code{GL_TEXTURE_CUBE_MAP_POSITIVE_Y},
+@code{GL_TEXTURE_CUBE_MAP_NEGATIVE_Y},
+@code{GL_TEXTURE_CUBE_MAP_POSITIVE_Z}, and
+@code{GL_TEXTURE_CUBE_MAP_NEGATIVE_Z} are accepted.
+@item @var{level}
+Specifies the level-of-detail number of the desired image. Level 0 is
+the base image level. Level @r{@var{n}} is the @r{@var{n}}th mipmap
+reduction image.
-@var{params} returns one value, the number of coordinates per vertex in
-the vertex array. The initial value is 4. See @code{glVertexPointer}.
+@item @var{format}
+Specifies a pixel format for the returned data. The supported formats
+are @code{GL_RED}, @code{GL_GREEN}, @code{GL_BLUE}, @code{GL_ALPHA},
+@code{GL_RGB}, @code{GL_BGR}, @code{GL_RGBA}, @code{GL_BGRA},
+@code{GL_LUMINANCE}, and @code{GL_LUMINANCE_ALPHA}.
-@item @code{GL_VERTEX_ARRAY_STRIDE}
+@item @var{type}
+Specifies a pixel type for the returned data. The supported types are
+@code{GL_UNSIGNED_BYTE}, @code{GL_BYTE}, @code{GL_UNSIGNED_SHORT},
+@code{GL_SHORT}, @code{GL_UNSIGNED_INT}, @code{GL_INT}, @code{GL_FLOAT},
+@code{GL_UNSIGNED_BYTE_3_3_2}, @code{GL_UNSIGNED_BYTE_2_3_3_REV},
+@code{GL_UNSIGNED_SHORT_5_6_5}, @code{GL_UNSIGNED_SHORT_5_6_5_REV},
+@code{GL_UNSIGNED_SHORT_4_4_4_4}, @code{GL_UNSIGNED_SHORT_4_4_4_4_REV},
+@code{GL_UNSIGNED_SHORT_5_5_5_1}, @code{GL_UNSIGNED_SHORT_1_5_5_5_REV},
+@code{GL_UNSIGNED_INT_8_8_8_8}, @code{GL_UNSIGNED_INT_8_8_8_8_REV},
+@code{GL_UNSIGNED_INT_10_10_10_2}, and
+@code{GL_UNSIGNED_INT_2_10_10_10_REV}.
+@item @var{img}
+Returns the texture image. Should be a pointer to an array of the type
+specified by @var{type}.
-@var{params} returns one value, the byte offset between consecutive
-vertices in the vertex array. The initial value is 0. See
-@code{glVertexPointer}.
+@end table
-@item @code{GL_VERTEX_ARRAY_TYPE}
+@code{glGetTexImage} returns a texture image into @var{img}.
+@var{target} specifies whether the desired texture image is one
+specified by @code{glTexImage1D} (@code{GL_TEXTURE_1D}),
+@code{glTexImage2D} (@code{GL_TEXTURE_2D} or any of
+@code{GL_TEXTURE_CUBE_MAP_*}), or @code{glTexImage3D}
+(@code{GL_TEXTURE_3D}). @var{level} specifies the level-of-detail number
+of the desired image. @var{format} and @var{type} specify the format and
+type of the desired image array. See the reference pages
+@code{glTexImage1D} and @code{glDrawPixels} for a description of the
+acceptable values for the @var{format} and @var{type} parameters,
+respectively.
+If a non-zero named buffer object is bound to the
+@code{GL_PIXEL_PACK_BUFFER} target (see @code{glBindBuffer}) while a
+texture image is requested, @var{img} is treated as a byte offset into
+the buffer object's data store.
-@var{params} returns one value, the data type of each coordinate in the
-vertex array. The initial value is @code{GL_FLOAT}. See
-@code{glVertexPointer}.
+To understand the operation of @code{glGetTexImage}, consider the
+selected internal four-component texture image to be an RGBA color
+buffer the size of the image. The semantics of @code{glGetTexImage} are
+then identical to those of @code{glReadPixels}, with the exception that
+no pixel transfer operations are performed, when called with the same
+@var{format} and @var{type}, with @var{x} and @var{y} set to 0,
+@var{width} set to the width of the texture image (including border if
+one was specified), and @var{height} set to 1 for 1D images, or to the
+height of the texture image (including border if one was specified) for
+2D images. Because the internal texture image is an RGBA image, pixel
+formats @code{GL_COLOR_INDEX}, @code{GL_STENCIL_INDEX}, and
+@code{GL_DEPTH_COMPONENT} are not accepted, and pixel type
+@code{GL_BITMAP} is not accepted.
-@item @code{GL_VERTEX_PROGRAM_POINT_SIZE}
+If the selected texture image does not contain four components, the
+following mappings are applied. Single-component textures are treated as
+RGBA buffers with red set to the single-component value, green set to 0,
+blue set to 0, and alpha set to 1. Two-component textures are treated as
+RGBA buffers with red set to the value of component zero, alpha set to
+the value of component one, and green and blue set to 0. Finally,
+three-component textures are treated as RGBA buffers with red set to
+component zero, green set to component one, blue set to component two,
+and alpha set to 1.
+To determine the required size of @var{img}, use
+@code{glGetTexLevelParameter} to determine the dimensions of the
+internal texture image, then scale the required number of pixels by the
+storage required for each pixel, based on @var{format} and @var{type}.
+Be sure to take the pixel storage parameters into account, especially
+@code{GL_PACK_ALIGNMENT}.
-@var{params} returns a single boolean value indicating whether vertex
-program point size mode is enabled. If enabled, and a vertex shader is
-active, then the point size is taken from the shader built-in
-@code{gl_PointSize}. If disabled, and a vertex shader is active, then
-the point size is taken from the point state as specified by
-@code{glPointSize}. The initial value is @code{GL_FALSE}.
+@code{GL_INVALID_ENUM} is generated if @var{target}, @var{format}, or
+@var{type} is not an accepted value.
-@item @code{GL_VERTEX_PROGRAM_TWO_SIDE}
+@code{GL_INVALID_VALUE} is generated if @var{level} is less than 0.
+@code{GL_INVALID_VALUE} may be generated if @var{level} is greater than
+@r{@var{log}_2(@var{max},)}, where @r{@var{max}} is the returned value
+of @code{GL_MAX_TEXTURE_SIZE}.
-@var{params} returns a single boolean value indicating whether vertex
-program two-sided color mode is enabled. If enabled, and a vertex shader
-is active, then the GL chooses the back color output for back-facing
-polygons, and the front color output for non-polygons and front-facing
-polygons. If disabled, and a vertex shader is active, then the front
-color output is always selected. The initial value is @code{GL_FALSE}.
+@code{GL_INVALID_OPERATION} is returned if @var{type} is one of
+@code{GL_UNSIGNED_BYTE_3_3_2}, @code{GL_UNSIGNED_BYTE_2_3_3_REV},
+@code{GL_UNSIGNED_SHORT_5_6_5}, or @code{GL_UNSIGNED_SHORT_5_6_5_REV}
+and @var{format} is not @code{GL_RGB}.
-@item @code{GL_VIEWPORT}
+@code{GL_INVALID_OPERATION} is returned if @var{type} is one of
+@code{GL_UNSIGNED_SHORT_4_4_4_4}, @code{GL_UNSIGNED_SHORT_4_4_4_4_REV},
+@code{GL_UNSIGNED_SHORT_5_5_5_1}, @code{GL_UNSIGNED_SHORT_1_5_5_5_REV},
+@code{GL_UNSIGNED_INT_8_8_8_8}, @code{GL_UNSIGNED_INT_8_8_8_8_REV},
+@code{GL_UNSIGNED_INT_10_10_10_2}, or
+@code{GL_UNSIGNED_INT_2_10_10_10_REV}, and @var{format} is neither
+@code{GL_RGBA} or @code{GL_BGRA}.
+@code{GL_INVALID_OPERATION} is generated if a non-zero buffer object
+name is bound to the @code{GL_PIXEL_PACK_BUFFER} target and the buffer
+object's data store is currently mapped.
-@var{params} returns four values: the @r{@var{x}} and @r{@var{y}} window
-coordinates of the viewport, followed by its width and height. Initially
-the @r{@var{x}} and @r{@var{y}} window coordinates are both set to 0,
-and the width and height are set to the width and height of the window
-into which the GL will do its rendering. See @code{glViewport}.
+@code{GL_INVALID_OPERATION} is generated if a non-zero buffer object
+name is bound to the @code{GL_PIXEL_PACK_BUFFER} target and the data
+would be packed to the buffer object such that the memory writes
+required would exceed the data store size.
-@item @code{GL_ZOOM_X}
+@code{GL_INVALID_OPERATION} is generated if a non-zero buffer object
+name is bound to the @code{GL_PIXEL_PACK_BUFFER} target and @var{img} is
+not evenly divisible into the number of bytes needed to store in memory
+a datum indicated by @var{type}.
+@code{GL_INVALID_OPERATION} is generated if @code{glGetTexImage} is
+executed between the execution of @code{glBegin} and the corresponding
+execution of @code{glEnd}.
-@var{params} returns one value, the @r{@var{x}} pixel zoom factor. The
-initial value is 1. See @code{glPixelZoom}.
+@end deftypefun
-@item @code{GL_ZOOM_Y}
+@deftypefun GLint glGetUniformLocation program name
+Returns the location of a uniform variable.
+@table @asis
+@item @var{program}
+Specifies the program object to be queried.
-@var{params} returns one value, the @r{@var{y}} pixel zoom factor. The
-initial value is 1. See @code{glPixelZoom}.
+@item @var{name}
+Points to a null terminated string containing the name of the uniform
+variable whose location is to be queried.
@end table
-Many of the boolean parameters can also be queried more easily using
-@code{glIsEnabled}.
+@code{glGetUniformLocation } returns an integer that represents the
+location of a specific uniform variable within a program object.
+@var{name} must be a null terminated string that contains no white
+space. @var{name} must be an active uniform variable name in
+@var{program} that is not a structure, an array of structures, or a
+subcomponent of a vector or a matrix. This function returns -1 if
+@var{name} does not correspond to an active uniform variable in
+@var{program} or if @var{name} starts with the reserved prefix "gl_".
-@code{GL_INVALID_ENUM} is generated if @var{pname} is not an accepted
-value.
+Uniform variables that are structures or arrays of structures may be
+queried by calling @code{glGetUniformLocation} for each field within the
+structure. The array element operator "[]" and the structure field
+operator "." may be used in @var{name} in order to select elements
+within an array or fields within a structure. The result of using these
+operators is not allowed to be another structure, an array of
+structures, or a subcomponent of a vector or a matrix. Except if the
+last part of @var{name} indicates a uniform variable array, the location
+of the first element of an array can be retrieved by using the name of
+the array, or by using the name appended by "[0]".
-@code{GL_INVALID_OPERATION} is generated if @code{glGet} is executed
-between the execution of @code{glBegin} and the corresponding execution
-of @code{glEnd}.
+The actual locations assigned to uniform variables are not known until
+the program object is linked successfully. After linking has occurred,
+the command @code{glGetUniformLocation} can be used to obtain the
+location of a uniform variable. This location value can then be passed
+to @code{glUniform} to set the value of the uniform variable or to
+@code{glGetUniform} in order to query the current value of the uniform
+variable. After a program object has been linked successfully, the index
+values for uniform variables remain fixed until the next link command
+occurs. Uniform variable locations and values can only be queried after
+a link if the link was successful.
+
+@code{GL_INVALID_VALUE} is generated if @var{program} is not a value
+generated by OpenGL.
+@code{GL_INVALID_OPERATION} is generated if @var{program} is not a
+program object.
+
+@code{GL_INVALID_OPERATION} is generated if @var{program} has not been
+successfully linked.
+@code{GL_INVALID_OPERATION} is generated if @code{glGetUniformLocation}
+is executed between the execution of @code{glBegin} and the
+corresponding execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glHint
+@deftypefun void glHint target mode
Specify implementation-specific hints.
@table @asis
between the execution of @code{glBegin} and the corresponding execution
of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glHistogram
+@deftypefun void glHistogram target width internalformat sink
Define histogram table.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glIndexMask
+@deftypefun void glIndexMask mask
Control the writing of individual bits in the color index buffers.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glIndexPointer
+@deftypefun void glIndexPointer type stride pointer
Define an array of color indexes.
@table @asis
@code{GL_INVALID_VALUE} is generated if @var{stride} is negative.
-@end defun
+@end deftypefun
-@defun glIndex
+@deftypefun void glIndexi c
+@deftypefunx void glIndexd c
+@deftypefunx void glIndexub c
Set the current color index.
@table @asis
bits in the integer portion of the resulting fixed-point value that do
not correspond to bits in the frame buffer are masked out.
-@end defun
+@end deftypefun
-@defun glInitNames
+@deftypefun void glInitNames
Initialize the name stack.
The name stack is used during selection mode to allow sets of rendering
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glInterleavedArrays
+@deftypefun void glInterleavedArrays format stride pointer
Simultaneously specify and enable several interleaved arrays.
@table @asis
@code{GL_INVALID_VALUE} is generated if @var{stride} is negative.
-@end defun
+@end deftypefun
-@defun glIsBuffer
+@deftypefun GLboolean glIsBuffer buffer
Determine if a name corresponds to a buffer object.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glIsEnabled
+@deftypefun GLboolean glIsEnabled cap
Test whether a capability is enabled.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glIsList
+@deftypefun GLboolean glIsList list
Determine if a name corresponds to a display list.
@table @asis
between the execution of @code{glBegin} and the corresponding execution
of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glIsProgram
+@deftypefun GLboolean glIsProgram program
Determines if a name corresponds to a program object.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glIsQuery
+@deftypefun GLboolean glIsQuery id
Determine if a name corresponds to a query object.
@table @asis
between the execution of @code{glBegin} and the corresponding execution
of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glIsShader
+@deftypefun GLboolean glIsShader shader
Determines if a name corresponds to a shader object.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glIsTexture
+@deftypefun GLboolean glIsTexture texture
Determine if a name corresponds to a texture.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glLightModel
+@deftypefun void glLightModelf pname param
+@deftypefunx void glLightModeli pname param
Set the lighting model parameters.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glLight
+@deftypefun void glLightf light pname param
+@deftypefunx void glLighti light pname param
Set light source parameters.
@table @asis
between the execution of @code{glBegin} and the corresponding execution
of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glLineStipple
+@deftypefun void glLineStipple factor pattern
Specify the line stipple pattern.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glLineWidth
+@deftypefun void glLineWidth width
Specify the width of rasterized lines.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glLinkProgram
+@deftypefun void glLinkProgram program
Links a program object.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glListBase
+@deftypefun void glListBase base
Set the display-list base for .
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glLoadIdentity
+@deftypefun void glLoadIdentity
Replace the current matrix with the identity matrix.
@code{glLoadIdentity} replaces the current matrix with the identity
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glLoadMatrix
+@deftypefun void glLoadMatrixd m
Replace the current matrix with the specified matrix.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glLoadName
+@deftypefun void glLoadName name
Load a name onto the name stack.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glLoadTransposeMatrix
+@deftypefun void glLoadTransposeMatrixd m
Replace the current matrix with the specified row-major ordered matrix.
@table @asis
is executed between the execution of @code{glBegin} and the
corresponding execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glLogicOp
+@deftypefun void glLogicOp opcode
Specify a logical pixel operation for color index rendering.
@table @asis
between the execution of @code{glBegin} and the corresponding execution
of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glMap1
+@deftypefun void glMap1d target u1 u2 stride order points
Define a one-dimensional evaluator.
@table @asis
@code{GL_INVALID_OPERATION} is generated if @code{glMap1} is called and
the value of @code{GL_ACTIVE_TEXTURE} is not @code{GL_TEXTURE0}.
-@end defun
+@end deftypefun
-@defun glMap2
+@deftypefun void glMap2d target u1 u2 ustride uorder v1 v2 vstride vorder points
Define a two-dimensional evaluator.
@table @asis
@code{GL_INVALID_OPERATION} is generated if @code{glMap2} is called and
the value of @code{GL_ACTIVE_TEXTURE} is not @code{GL_TEXTURE0}.
-@end defun
+@end deftypefun
-@defun glMapBuffer
+@deftypefun * glMapBuffer target access
+@deftypefunx GLboolean glUnmapBuffer target
Map a buffer object's data store.
@table @asis
@code{glUnmapBuffer} is executed between the execution of @code{glBegin}
and the corresponding execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glMapGrid
+@deftypefun void glMapGrid1d un u1 u2
+@deftypefunx void glMapGrid2d un u1 u2 vn v1 v2
Define a one- or two-dimensional mesh.
@table @asis
between the execution of @code{glBegin} and the corresponding execution
of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glMaterial
+@deftypefun void glMaterialf face pname param
+@deftypefunx void glMateriali face pname param
Specify material parameters for the lighting model.
@table @asis
@code{GL_INVALID_VALUE} is generated if a specular exponent outside the
range @r{[0,128]} is specified.
-@end defun
+@end deftypefun
-@defun glMatrixMode
+@deftypefun void glMatrixMode mode
Specify which matrix is the current matrix.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glMinmax
+@deftypefun void glMinmax target internalformat sink
Define minmax table.
@table @asis
between the execution of @code{glBegin} and the corresponding execution
of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glMultiDrawArrays
+@deftypefun void glMultiDrawArrays mode first count primcount
Render multiple sets of primitives from array data.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
@code{glEnd}.
-@end defun
+@end deftypefun
-@defun glMultiDrawElements
+@deftypefun void glMultiDrawElements mode count type indices primcount
Render multiple sets of primitives by specifying indices of array data
elements.
is executed between the execution of @code{glBegin} and the
corresponding @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glMultiTexCoord
+@deftypefun void glMultiTexCoord1i target s
+@deftypefunx void glMultiTexCoord1d target s
+@deftypefunx void glMultiTexCoord2i target s t
+@deftypefunx void glMultiTexCoord2d target s t
+@deftypefunx void glMultiTexCoord3i target s t r
+@deftypefunx void glMultiTexCoord3d target s t r
+@deftypefunx void glMultiTexCoord4i target s t r q
+@deftypefunx void glMultiTexCoord4d target s t r q
Set the current texture coordinates.
@table @asis
-@end defun
+@end deftypefun
-@defun glMultMatrix
+@deftypefun void glMultMatrixd m
Multiply the current matrix with the specified matrix.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glMultTransposeMatrix
+@deftypefun void glMultTransposeMatrixd m
Multiply the current matrix with the specified row-major ordered matrix.
@table @asis
is executed between the execution of @code{glBegin} and the
corresponding execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glNewList
+@deftypefun void glNewList list mode
+@deftypefunx void glEndList
Create or replace a display list.
@table @asis
other change is made to the GL state. (It is as if no attempt had been
made to create the new display list.)
-@end defun
+@end deftypefun
-@defun glNormalPointer
+@deftypefun void glNormalPointer type stride pointer
Define an array of normals.
@table @asis
@code{GL_INVALID_VALUE} is generated if @var{stride} is negative.
-@end defun
+@end deftypefun
-@defun glNormal
+@deftypefun void glNormal3d nx ny nz
+@deftypefunx void glNormal3i nx ny nz
Set the current normal vector.
@table @asis
@code{glDisable} with either @code{GL_NORMALIZE} or
@code{GL_RESCALE_NORMAL}. Normalization is initially disabled.
-@end defun
+@end deftypefun
-@defun glOrtho
+@deftypefun void glOrtho left right bottom top nearVal farVal
Multiply the current matrix with an orthographic matrix.
@table @asis
between the execution of @code{glBegin} and the corresponding execution
of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glPassThrough
+@deftypefun void glPassThrough token
Place a marker in the feedback buffer.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
-
-@defun glPixelMap
-Set up pixel transfer maps.
-
-@table @asis
-@item @var{map}
-Specifies a symbolic map name. Must be one of the following:
-@code{GL_PIXEL_MAP_I_TO_I}, @code{GL_PIXEL_MAP_S_TO_S},
-@code{GL_PIXEL_MAP_I_TO_R}, @code{GL_PIXEL_MAP_I_TO_G},
-@code{GL_PIXEL_MAP_I_TO_B}, @code{GL_PIXEL_MAP_I_TO_A},
-@code{GL_PIXEL_MAP_R_TO_R}, @code{GL_PIXEL_MAP_G_TO_G},
-@code{GL_PIXEL_MAP_B_TO_B}, or @code{GL_PIXEL_MAP_A_TO_A}.
-
-@item @var{mapsize}
-Specifies the size of the map being defined.
-
-@item @var{values}
-Specifies an array of @var{mapsize} values.
-
-@end table
-
-@code{glPixelMap} sets up translation tables, or @var{maps}, used by
-@code{glCopyPixels}, @code{glCopyTexImage1D}, @code{glCopyTexImage2D},
-@code{glCopyTexSubImage1D}, @code{glCopyTexSubImage2D},
-@code{glCopyTexSubImage3D}, @code{glDrawPixels}, @code{glReadPixels},
-@code{glTexImage1D}, @code{glTexImage2D}, @code{glTexImage3D},
-@code{glTexSubImage1D}, @code{glTexSubImage2D}, and
-@code{glTexSubImage3D}. Additionally, if the @code{ARB_imaging} subset
-is supported, the routines @code{glColorTable}, @code{glColorSubTable},
-@code{glConvolutionFilter1D}, @code{glConvolutionFilter2D},
-@code{glHistogram}, @code{glMinmax}, and @code{glSeparableFilter2D}. Use
-of these maps is described completely in the @code{glPixelTransfer}
-reference page, and partly in the reference pages for the pixel and
-texture image commands. Only the specification of the maps is described
-in this reference page.
-
-@var{map} is a symbolic map name, indicating one of ten maps to set.
-@var{mapsize} specifies the number of entries in the map, and
-@var{values} is a pointer to an array of @var{mapsize} map values.
-
-If a non-zero named buffer object is bound to the
-@code{GL_PIXEL_UNPACK_BUFFER} target (see @code{glBindBuffer}) while a
-pixel transfer map is specified, @var{values} is treated as a byte
-offset into the buffer object's data store.
-
-The ten maps are as follows:
-
-@table @asis
-@item @code{GL_PIXEL_MAP_I_TO_I}
-Maps color indices to color indices.
-
-@item @code{GL_PIXEL_MAP_S_TO_S}
-Maps stencil indices to stencil indices.
-
-@item @code{GL_PIXEL_MAP_I_TO_R}
-Maps color indices to red components.
-
-@item @code{GL_PIXEL_MAP_I_TO_G}
-Maps color indices to green components.
-
-@item @code{GL_PIXEL_MAP_I_TO_B}
-Maps color indices to blue components.
-
-@item @code{GL_PIXEL_MAP_I_TO_A}
-Maps color indices to alpha components.
-
-@item @code{GL_PIXEL_MAP_R_TO_R}
-Maps red components to red components.
-
-@item @code{GL_PIXEL_MAP_G_TO_G}
-Maps green components to green components.
-
-@item @code{GL_PIXEL_MAP_B_TO_B}
-Maps blue components to blue components.
-
-@item @code{GL_PIXEL_MAP_A_TO_A}
-Maps alpha components to alpha components.
-
-@end table
-
-The entries in a map can be specified as single-precision floating-point
-numbers, unsigned short integers, or unsigned int integers. Maps that
-store color component values (all but @code{GL_PIXEL_MAP_I_TO_I} and
-@code{GL_PIXEL_MAP_S_TO_S}) retain their values in floating-point
-format, with unspecified mantissa and exponent sizes. Floating-point
-values specified by @code{glPixelMapfv} are converted directly to the
-internal floating-point format of these maps, then clamped to the range
-[0,1]. Unsigned integer values specified by @code{glPixelMapusv} and
-@code{glPixelMapuiv} are converted linearly such that the largest
-representable integer maps to 1.0, and 0 maps to 0.0.
-
-Maps that store indices, @code{GL_PIXEL_MAP_I_TO_I} and
-@code{GL_PIXEL_MAP_S_TO_S}, retain their values in fixed-point format,
-with an unspecified number of bits to the right of the binary point.
-Floating-point values specified by @code{glPixelMapfv} are converted
-directly to the internal fixed-point format of these maps. Unsigned
-integer values specified by @code{glPixelMapusv} and
-@code{glPixelMapuiv} specify integer values, with all 0's to the right
-of the binary point.
-
-The following table shows the initial sizes and values for each of the
-maps. Maps that are indexed by either color or stencil indices must have
-@var{mapsize} = @r{2^@var{n}} for some @r{@var{n}} or the results are
-undefined. The maximum allowable size for each map depends on the
-implementation and can be determined by calling @code{glGet} with
-argument @code{GL_MAX_PIXEL_MAP_TABLE}. The single maximum applies to
-all maps; it is at least 32.
-
-@table @asis
-@item @strong{@var{map}}
-@strong{Lookup Index}, @strong{Lookup Value}, @strong{Initial Size},
-@strong{Initial Value}
-
-@item @code{GL_PIXEL_MAP_I_TO_I}
-color index , color index , 1 , 0
-
-@item @code{GL_PIXEL_MAP_S_TO_S}
-stencil index , stencil index , 1 , 0
-
-@item @code{GL_PIXEL_MAP_I_TO_R}
-color index , R , 1 , 0
-
-@item @code{GL_PIXEL_MAP_I_TO_G}
-color index , G , 1 , 0
-
-@item @code{GL_PIXEL_MAP_I_TO_B}
-color index , B , 1 , 0
-
-@item @code{GL_PIXEL_MAP_I_TO_A}
-color index , A , 1 , 0
-
-@item @code{GL_PIXEL_MAP_R_TO_R}
-R , R , 1 , 0
-
-@item @code{GL_PIXEL_MAP_G_TO_G}
-G , G , 1 , 0
-
-@item @code{GL_PIXEL_MAP_B_TO_B}
-B , B , 1 , 0
-
-@item @code{GL_PIXEL_MAP_A_TO_A}
-A , A , 1 , 0
-
-@end table
-
-@code{GL_INVALID_ENUM} is generated if @var{map} is not an accepted
-value.
-
-@code{GL_INVALID_VALUE} is generated if @var{mapsize} is less than one
-or larger than @code{GL_MAX_PIXEL_MAP_TABLE}.
-
-@code{GL_INVALID_VALUE} is generated if @var{map} is
-@code{GL_PIXEL_MAP_I_TO_I}, @code{GL_PIXEL_MAP_S_TO_S},
-@code{GL_PIXEL_MAP_I_TO_R}, @code{GL_PIXEL_MAP_I_TO_G},
-@code{GL_PIXEL_MAP_I_TO_B}, or @code{GL_PIXEL_MAP_I_TO_A}, and
-@var{mapsize} is not a power of two.
-
-@code{GL_INVALID_OPERATION} is generated if a non-zero buffer object
-name is bound to the @code{GL_PIXEL_UNPACK_BUFFER} target and the buffer
-object's data store is currently mapped.
-
-@code{GL_INVALID_OPERATION} is generated if a non-zero buffer object
-name is bound to the @code{GL_PIXEL_UNPACK_BUFFER} target and the data
-would be unpacked from the buffer object such that the memory reads
-required would exceed the data store size.
-
-@code{GL_INVALID_OPERATION} is generated by @code{glPixelMapfv} if a
-non-zero buffer object name is bound to the
-@code{GL_PIXEL_UNPACK_BUFFER} target and @var{values} is not evenly
-divisible into the number of bytes needed to store in memory a GLfloat
-datum.
-
-@code{GL_INVALID_OPERATION} is generated by @code{glPixelMapuiv} if a
-non-zero buffer object name is bound to the
-@code{GL_PIXEL_UNPACK_BUFFER} target and @var{values} is not evenly
-divisible into the number of bytes needed to store in memory a GLuint
-datum.
-
-@code{GL_INVALID_OPERATION} is generated by @code{glPixelMapusv} if a
-non-zero buffer object name is bound to the
-@code{GL_PIXEL_UNPACK_BUFFER} target and @var{values} is not evenly
-divisible into the number of bytes needed to store in memory a GLushort
-datum.
-
-@code{GL_INVALID_OPERATION} is generated if @code{glPixelMap} is
-executed between the execution of @code{glBegin} and the corresponding
-execution of @code{glEnd}.
-
-@end defun
+@end deftypefun
-@defun glPixelStore
+@deftypefun void glPixelStoref pname param
+@deftypefunx void glPixelStorei pname param
Set pixel storage modes.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glPixelTransfer
+@deftypefun void glPixelTransferf pname param
+@deftypefunx void glPixelTransferi pname param
Set pixel transfer modes.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glPixelZoom
+@deftypefun void glPixelZoom xfactor yfactor
Specify the pixel zoom factors.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glPointParameter
+@deftypefun void glPointParameterf pname param
+@deftypefunx void glPointParameteri pname param
Specify point parameters.
@table @asis
-@end defun
+@end deftypefun
-@defun glPointSize
+@deftypefun void glPointSize size
Specify the diameter of rasterized points.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glPolygonMode
+@deftypefun void glPolygonMode face mode
Select a polygon rasterization mode.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glPolygonOffset
+@deftypefun void glPolygonOffset factor units
Set the scale and units used to calculate depth values.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glPolygonStipple
+@deftypefun void glPolygonStipple pattern
Set the polygon stippling pattern.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glPrioritizeTextures
+@deftypefun void glPrioritizeTextures n textures priorities
Set texture residence priority.
@table @asis
is executed between the execution of @code{glBegin} and the
corresponding execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glPushAttrib
+@deftypefun void glPushAttrib mask
+@deftypefunx void glPopAttrib
Push and pop the server attribute stack.
@table @asis
@code{glPopAttrib} is executed between the execution of @code{glBegin}
and the corresponding execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glPushClientAttrib
+@deftypefun void glPushClientAttrib mask
+@deftypefunx void glPopClientAttrib
Push and pop the client attribute stack.
@table @asis
@code{GL_STACK_UNDERFLOW} is generated if @code{glPopClientAttrib} is
called while the attribute stack is empty.
-@end defun
+@end deftypefun
-@defun glPushMatrix
+@deftypefun void glPushMatrix
+@deftypefunx void glPopMatrix
Push and pop the current matrix stack.
There is a stack of matrices for each of the matrix modes. In
@code{glPopMatrix} is executed between the execution of @code{glBegin}
and the corresponding execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glPushName
+@deftypefun void glPushName name
+@deftypefunx void glPopName
Push and pop the name stack.
@table @asis
@code{glPopName} is executed between a call to @code{glBegin} and the
corresponding call to @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glRasterPos
+@deftypefun void glRasterPos2i x y
+@deftypefunx void glRasterPos2d x y
+@deftypefunx void glRasterPos3i x y z
+@deftypefunx void glRasterPos3d x y z
+@deftypefunx void glRasterPos4i x y z w
+@deftypefunx void glRasterPos4d x y z w
Specify the raster position for pixel operations.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glReadBuffer
+@deftypefun void glReadBuffer mode
Select a color buffer source for pixels.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glReadPixels
+@deftypefun void glReadPixels x y width height format type data
Read a block of pixels from the frame buffer.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glRect
+@deftypefun void glRectd x1 y1 x2 y2
+@deftypefunx void glRecti x1 y1 x2 y2
Draw a rectangle.
@table @asis
between the execution of @code{glBegin} and the corresponding execution
of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glRenderMode
+@deftypefun GLint glRenderMode mode
Set rasterization mode.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glResetHistogram
+@deftypefun void glResetHistogram target
Reset histogram table entries to zero.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glResetMinmax
+@deftypefun void glResetMinmax target
Reset minmax table entries to initial values.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glRotate
+@deftypefun void glRotated angle x y z
Multiply the current matrix by a rotation matrix.
@table @asis
between the execution of @code{glBegin} and the corresponding execution
of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glSampleCoverage
+@deftypefun void glSampleCoverage value invert
Specify multisample coverage parameters.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glScale
+@deftypefun void glScaled x y z
Multiply the current matrix by a general scaling matrix.
@table @asis
between the execution of @code{glBegin} and the corresponding execution
of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glScissor
+@deftypefun void glScissor x y width height
Define the scissor box.
@table @asis
between the execution of @code{glBegin} and the corresponding execution
of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glSecondaryColorPointer
+@deftypefun void glSecondaryColorPointer size type stride pointer
Define an array of secondary colors.
@table @asis
@code{GL_INVALID_VALUE} is generated if @var{stride} is negative.
-@end defun
+@end deftypefun
-@defun glSecondaryColor
+@deftypefun void glSecondaryColor3i red green blue
+@deftypefunx void glSecondaryColor3d red green blue
+@deftypefunx void glSecondaryColor3ui red green blue
Set the current secondary color.
@table @asis
components are clamped to this range before they are interpolated or
written into a color buffer.
-@end defun
+@end deftypefun
-@defun glSelectBuffer
+@deftypefun void glSelectBuffer size buffer
Establish a buffer for selection mode values.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glSeparableFilter2D
+@deftypefun void glSeparableFilter2D target internalformat width height format type row column
Define a separable two-dimensional convolution filter.
@table @asis
is executed between the execution of @code{glBegin} and the
corresponding execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glShadeModel
+@deftypefun void glShadeModel mode
Select flat or smooth shading.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glShaderSource
+@deftypefun void glShaderSource shader count string length
Replaces the source code in a shader object.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glStencilFuncSeparate
+@deftypefun void glStencilFuncSeparate face func ref mask
Set front and/or back function and reference value for stencil testing.
@table @asis
is executed between the execution of @code{glBegin} and the
corresponding execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glStencilFunc
+@deftypefun void glStencilFunc func ref mask
Set front and back function and reference value for stencil testing.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glStencilMaskSeparate
+@deftypefun void glStencilMaskSeparate face mask
Control the front and/or back writing of individual bits in the stencil
planes.
is executed between the execution of @code{glBegin} and the
corresponding execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glStencilMask
+@deftypefun void glStencilMask mask
Control the front and back writing of individual bits in the stencil
planes.
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glStencilOpSeparate
+@deftypefun void glStencilOpSeparate face sfail dpfail dppass
Set front and/or back stencil test actions.
@table @asis
is executed between the execution of @code{glBegin} and the
corresponding execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glStencilOp
+@deftypefun void glStencilOp sfail dpfail dppass
Set front and back stencil test actions.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glTexCoordPointer
+@deftypefun void glTexCoordPointer size type stride pointer
Define an array of texture coordinates.
@table @asis
@code{GL_INVALID_VALUE} is generated if @var{stride} is negative.
-@end defun
+@end deftypefun
-@defun glTexCoord
+@deftypefun void glTexCoord1i s
+@deftypefunx void glTexCoord1d s
+@deftypefunx void glTexCoord2i s t
+@deftypefunx void glTexCoord2d s t
+@deftypefunx void glTexCoord3i s t r
+@deftypefunx void glTexCoord3d s t r
+@deftypefunx void glTexCoord4i s t r q
+@deftypefunx void glTexCoord4d s t r q
Set the current texture coordinates.
@table @asis
-@end defun
+@end deftypefun
-@defun glTexEnv
+@deftypefun void glTexEnvf target pname param
+@deftypefunx void glTexEnvi target pname param
Set texture environment parameters.
@table @asis
between the execution of @code{glBegin} and the corresponding execution
of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glTexGen
+@deftypefun void glTexGeni coord pname param
+@deftypefunx void glTexGend coord pname param
Control the generation of texture coordinates.
@table @asis
between the execution of @code{glBegin} and the corresponding execution
of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glTexImage1D
+@deftypefun void glTexImage1D target level internalFormat width border format type data
Specify a one-dimensional texture image.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glTexImage2D
+@deftypefun void glTexImage2D target level internalFormat width height border format type data
Specify a two-dimensional texture image.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glTexImage3D
+@deftypefun void glTexImage3D target level internalFormat width height depth border format type data
Specify a three-dimensional texture image.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glTexParameter
+@deftypefun void glTexParameterf target pname param
+@deftypefunx void glTexParameteri target pname param
Set texture parameters.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glTexSubImage1D
+@deftypefun void glTexSubImage1D target level xoffset width format type data
Specify a one-dimensional texture subimage.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glTexSubImage2D
+@deftypefun void glTexSubImage2D target level xoffset yoffset width height format type data
Specify a two-dimensional texture subimage.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glTexSubImage3D
+@deftypefun void glTexSubImage3D target level xoffset yoffset zoffset width height depth format type data
Specify a three-dimensional texture subimage.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glTranslate
+@deftypefun void glTranslated x y z
Multiply the current matrix by a translation matrix.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glUniform1f
+@deftypefun void glUniform1f location v0
+@deftypefunx void glUniform2f location v0 v1
+@deftypefunx void glUniform3f location v0 v1 v2
+@deftypefunx void glUniform4f location v0 v1 v2 v3
+@deftypefunx void glUniform1i location v0
+@deftypefunx void glUniform2i location v0 v1
+@deftypefunx void glUniform3i location v0 v1 v2
+@deftypefunx void glUniform4i location v0 v1 v2 v3
Specify the value of a uniform variable for the current program object.
@table @asis
between the execution of @code{glBegin} and the corresponding execution
of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glUseProgram
+@deftypefun void glUseProgram program
Installs a program object as part of current rendering state.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glValidateProgram
+@deftypefun void glValidateProgram program
Validates a program object.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glVertexAttribPointer
+@deftypefun void glVertexAttribPointer index size type normalized stride pointer
Define an array of generic vertex attribute data.
@table @asis
@code{GL_INVALID_VALUE} is generated if @var{stride} is negative.
-@end defun
-
-@defun glVertexAttrib
+@end deftypefun
+
+@deftypefun void glVertexAttrib1s index v0
+@deftypefunx void glVertexAttrib1d index v0
+@deftypefunx void glVertexAttrib2s index v0 v1
+@deftypefunx void glVertexAttrib2d index v0 v1
+@deftypefunx void glVertexAttrib3s index v0 v1 v2
+@deftypefunx void glVertexAttrib3d index v0 v1 v2
+@deftypefunx void glVertexAttrib4s index v0 v1 v2 v3
+@deftypefunx void glVertexAttrib4d index v0 v1 v2 v3
+@deftypefunx void glVertexAttrib4Nub index v0 v1 v2 v3
Specifies the value of a generic vertex attribute.
@table @asis
@code{GL_INVALID_VALUE} is generated if @var{index} is greater than or
equal to @code{GL_MAX_VERTEX_ATTRIBS}.
-@end defun
+@end deftypefun
-@defun glVertexPointer
+@deftypefun void glVertexPointer size type stride pointer
Define an array of vertex data.
@table @asis
@code{GL_INVALID_VALUE} is generated if @var{stride} is negative.
-@end defun
+@end deftypefun
-@defun glVertex
+@deftypefun void glVertex2i x y
+@deftypefunx void glVertex2d x y
+@deftypefunx void glVertex3i x y z
+@deftypefunx void glVertex3d x y z
+@deftypefunx void glVertex4i x y z w
+@deftypefunx void glVertex4d x y z w
Specify a vertex.
@table @asis
defaults to 0 and @r{@var{w}} defaults to 1. When @r{@var{x}},
@r{@var{y}}, and @r{@var{z}} are specified, @r{@var{w}} defaults to 1.
-@end defun
+@end deftypefun
-@defun glViewport
+@deftypefun void glViewport x y width height
Set the viewport.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
-@defun glWindowPos
+@deftypefun void glWindowPos2i x y
+@deftypefunx void glWindowPos2d x y
+@deftypefunx void glWindowPos3i x y z
+@deftypefunx void glWindowPos3d x y z
Specify the raster position in window coordinates for pixel operations.
@table @asis
executed between the execution of @code{glBegin} and the corresponding
execution of @code{glEnd}.
-@end defun
+@end deftypefun
@c %end of fragment