handle families of functions with different signatures
[clinton/guile-figl.git] / doc / low-level-gl.texi
index 3b5bce1..2e132fd 100644 (file)
@@ -34,7 +34,7 @@ Publication License, v 1.0, 8 June 1999.
 
 @end copying
 
-@defun glAccum 
+@deftypefun void glAccum op value
 Operate on the accumulation buffer.
 
 @table @asis
@@ -132,9 +132,9 @@ buffer.
 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
@@ -160,9 +160,9 @@ Vertex arrays are client-side GL resources, which are selected by the
 (@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
@@ -236,9 +236,9 @@ value.
 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
@@ -285,9 +285,9 @@ residence status of a default texture can be queried.
 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
@@ -325,9 +325,9 @@ may access original data.
 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
@@ -376,9 +376,10 @@ attached to @var{program}.
 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
@@ -428,9 +429,10 @@ already active query object.
 @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
@@ -566,9 +568,9 @@ Execution of @code{glEnableClientState}, @code{glDisableClientState},
 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.
 
@@ -642,9 +644,9 @@ program object.
 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
@@ -748,9 +750,9 @@ allowable values.
 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
@@ -822,9 +824,9 @@ created with a target that doesn't match that of @var{target}.
 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
@@ -912,9 +914,9 @@ required would exceed the data store size.
 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
@@ -938,9 +940,9 @@ execution of @code{glEnd}.
 
 
 
-@end defun
+@end deftypefun
 
-@defun glBlendEquationSeparate 
+@deftypefun void glBlendEquationSeparate modeRGB modeAlpha
 Set the RGB blend equation and the alpha blend equation separately.
 
 @table @asis
@@ -1027,9 +1029,9 @@ or @code{GL_MIN}.
 @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.
 
@@ -1109,9 +1111,9 @@ set to @code{GL_FUNC_ADD}.
 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
@@ -1278,9 +1280,9 @@ factor equal to 0 reduces its multiplicand to 0. For example, when
 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
@@ -1425,9 +1427,9 @@ factor equal to 0 reduces its multiplicand to 0. For example, when
 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
@@ -1520,9 +1522,9 @@ data store with the specified @var{size}.
 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
@@ -1569,9 +1571,9 @@ updated is mapped.
 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
@@ -1679,9 +1681,9 @@ preserve GL state across @code{glCallLists} calls.
 @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
@@ -1707,9 +1709,9 @@ remain after execution of the display list is completed. Use
 @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
@@ -1732,9 +1734,9 @@ Values specified by @code{glClearAccum} are clamped to the range
 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
@@ -1755,9 +1757,9 @@ used by @code{glClear} to clear the color buffers. Values specified by
 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
@@ -1775,9 +1777,9 @@ clamped to the range @r{[0,1]}.
 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
@@ -1798,9 +1800,9 @@ index stored in the frame buffer.
 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
@@ -1818,9 +1820,9 @@ clear the stencil buffer. @var{s} is masked with @r{2^@var{m}-1}, where
 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
@@ -1873,9 +1875,9 @@ defined bits is set in @var{mask}.
 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
@@ -1898,9 +1900,9 @@ respectively, when called with a parameter of
 @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
@@ -1948,9 +1950,9 @@ value.
 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
@@ -1977,9 +1979,9 @@ changes are either enabled or disabled for entire color components.
 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
@@ -2014,9 +2016,9 @@ an accepted value.
 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
@@ -2076,9 +2078,9 @@ value.
 
 @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
@@ -2160,55 +2162,9 @@ memory a datum indicated by @var{type}.
 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
@@ -2473,9 +2429,14 @@ memory a datum indicated by @var{type}.
 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
@@ -2518,9 +2479,9 @@ range @r{[0,1]} before the current color is updated. However, color
 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
@@ -2554,9 +2515,9 @@ object.
 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
@@ -2652,9 +2613,9 @@ Undefined results, including abnormal program termination, are generated
 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
@@ -2766,9 +2727,9 @@ Undefined results, including abnormal program termination, are generated
 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
@@ -2878,9 +2839,9 @@ Undefined results, including abnormal program termination, are generated
 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
@@ -2967,9 +2928,9 @@ Undefined results, including abnormal program termination, are generated
 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
@@ -3071,9 +3032,9 @@ Undefined results, including abnormal program termination, are generated
 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
@@ -3171,9 +3132,9 @@ Undefined results, including abnormal program termination, are generated
 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
@@ -3341,9 +3302,9 @@ memory a datum indicated by @var{type}.
 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
@@ -3521,9 +3482,10 @@ memory a datum indicated by @var{type}.
 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
@@ -3602,9 +3564,9 @@ allowable values.
 @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
@@ -3647,9 +3609,9 @@ allowable values.
 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
@@ -3762,9 +3724,9 @@ too large to be supported by the implementation.
 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
@@ -3883,9 +3845,9 @@ and name @code{GL_MAX_CONVOLUTION_WIDTH}.
 @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
@@ -4013,9 +3975,9 @@ with @code{glGetConvolutionParameter} using target
 @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
@@ -4179,9 +4141,9 @@ value.
 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
@@ -4291,9 +4253,9 @@ execution of @code{glEnd}.
 @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
@@ -4417,9 +4379,9 @@ execution of @code{glEnd}.
 @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
@@ -4490,9 +4452,9 @@ is the @code{GL_TEXTURE_WIDTH} and @r{@var{b}} is the
 
 
 
-@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
@@ -4591,9 +4553,9 @@ is the @code{GL_TEXTURE_WIDTH}, @r{@var{h}} is the
 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
@@ -4686,9 +4648,9 @@ width.
 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
@@ -4717,9 +4679,9 @@ This function returns 0 if an error occurs creating the program object.
 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
@@ -4753,9 +4715,9 @@ accepted value.
 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
@@ -4784,9 +4746,9 @@ value.
 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
@@ -4814,9 +4776,9 @@ correspond to existing buffer objects.
 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
@@ -4845,9 +4807,9 @@ ignored. If @var{range} is 0, nothing happens.
 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
@@ -4881,9 +4843,9 @@ generated by OpenGL.
 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
@@ -4909,9 +4871,9 @@ correspond to existing query objects.
 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
@@ -4942,9 +4904,9 @@ generated by OpenGL.
 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
@@ -4971,9 +4933,9 @@ correspond to existing textures.
 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
@@ -5035,9 +4997,9 @@ value.
 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
@@ -5057,9 +5019,9 @@ enabled.
 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.
 
@@ -5090,9 +5052,9 @@ With this mapping, the depth buffer range is fully utilized.
 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
@@ -5129,9 +5091,9 @@ to @var{program}.
 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
@@ -5183,9 +5145,9 @@ currently mapped.
 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
@@ -5267,9 +5229,9 @@ does not exist in the current GL context.
 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
@@ -5358,9 +5320,9 @@ indicated by @var{mode} exists.
 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
@@ -5418,9 +5380,9 @@ object's data store is currently mapped.
 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
@@ -5838,9 +5800,9 @@ memory a datum indicated by @var{type}.
 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
@@ -5920,9 +5882,9 @@ object's data store is currently mapped.
 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
@@ -5963,9 +5925,9 @@ used when @code{glDrawArrays}, @code{glMultiDrawArrays},
 
 @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
@@ -5991,9 +5953,10 @@ Boundary and nonboundary edge flags on vertices are significant only if
 @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
@@ -6079,9 +6042,10 @@ value.
 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
@@ -6110,9 +6074,10 @@ equal to @code{GL_MAX_VERTEX_ATTRIBS}.
 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
@@ -6587,9 +6552,10 @@ values listed previously.
 @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
@@ -6659,9 +6625,10 @@ If automatic normal generation is disabled, the corresponding normal map
 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
@@ -6782,9 +6749,10 @@ value.
 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
@@ -6832,9 +6800,9 @@ equivalent to calling The only absolute numeric requirements are that if
 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
@@ -6978,9 +6946,9 @@ called while the render mode is @code{GL_FEEDBACK}, or if
 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
@@ -6992,9 +6960,9 @@ buffer contents.
 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
@@ -7014,9 +6982,9 @@ waiting for user input that depends on the generated image.
 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
@@ -7066,9 +7034,9 @@ is used when @code{glDrawArrays}, @code{glMultiDrawArrays},
 
 @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
@@ -7081,9 +7049,10 @@ Specify the fog distance.
 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
@@ -7195,9 +7164,9 @@ an accepted value.
 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
@@ -7234,9 +7203,9 @@ value.
 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
@@ -7297,9 +7266,9 @@ not positive, or if @var{left} = @var{right}, or @var{bottom} =
 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
@@ -7330,9 +7299,9 @@ until they are first bound by calling @code{glBindBuffer}.
 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
@@ -7354,9 +7323,9 @@ lists are generated, and 0 is returned.
 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
@@ -7386,9 +7355,9 @@ until they are first used by calling @code{glBeginQuery}.
 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
@@ -7419,9 +7388,9 @@ returned by subsequent calls, unless they are first deleted with
 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.
 
@@ -7526,9 +7495,9 @@ execution of @code{glEnd}.
 
 @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.
 
@@ -7658,9 +7627,9 @@ execution of @code{glEnd}.
 
 @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
@@ -7706,9 +7675,9 @@ program object.
 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
@@ -7755,101 +7724,9 @@ successfully linked.
 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
@@ -7897,9 +7774,9 @@ queried is mapped.
 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
@@ -7926,98 +7803,9 @@ value.
 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
@@ -8136,9 +7924,9 @@ memory a datum indicated by @var{type}.
 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
@@ -8209,9 +7997,9 @@ required would exceed the data store size.
 @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
@@ -8330,108 +8118,9 @@ memory a datum indicated by @var{type}.
 @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
@@ -8504,82 +8193,9 @@ returns 0. If @code{glGetError} itself generates an error, it returns 0.
 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
@@ -8697,385 +8313,48 @@ memory a datum indicated by @var{type}.
 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
@@ -9162,122 +8441,9 @@ memory a datum indicated by @var{type}.
 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
@@ -9313,9 +8479,9 @@ required would exceed the data store size.
 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
@@ -9369,265 +8535,68 @@ program object.
 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 
@@ -9697,9 +8666,9 @@ store in memory a datum indicated by @var{type}.
 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
@@ -9751,9 +8720,9 @@ object.
 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
@@ -9801,74 +8770,9 @@ object.
 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
@@ -9914,3394 +8818,233 @@ Returns a space-separated list of supported extensions to GL.
 
 @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
@@ -13420,9 +9163,9 @@ is not an accepted value.
 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
@@ -13504,9 +9247,9 @@ the implementation.
 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
@@ -13531,9 +9274,9 @@ Initially, all bits are enabled for writing.
 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
@@ -13583,9 +9326,11 @@ value.
 
 @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
@@ -13609,9 +9354,9 @@ written to the frame buffer, it is converted to fixed-point format. Any
 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
@@ -13627,9 +9372,9 @@ not @code{GL_SELECT} are ignored.
 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
@@ -13673,9 +9418,9 @@ value.
 
 @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
@@ -13697,9 +9442,9 @@ buffer object.
 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
@@ -13951,9 +9696,9 @@ value.
 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
@@ -13974,9 +9719,9 @@ list.
 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
@@ -13995,9 +9740,9 @@ error occurs, @code{glIsProgram} returns @code{GL_FALSE}.
 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
@@ -14019,9 +9764,9 @@ object.
 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
@@ -14040,9 +9785,9 @@ occurs, @code{glIsShader } returns @code{GL_FALSE}.
 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
@@ -14063,9 +9808,10 @@ texture by calling @code{glBindTexture}, is not the name of a texture.
 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
@@ -14176,9 +9922,10 @@ value.
 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
@@ -14326,9 +10073,9 @@ negative attenuation factor is specified.
 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
@@ -14377,9 +10124,9 @@ as if the pattern were all 1's. Initially, line stippling is disabled.
 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
@@ -14427,9 +10174,9 @@ equal to 0.
 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
@@ -14548,9 +10295,9 @@ program object.
 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
@@ -14568,9 +10315,9 @@ valid display lists are executed; the others are ignored.
 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
@@ -14589,9 +10336,9 @@ but in some cases it is more efficient.
 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
@@ -14628,9 +10375,9 @@ Projection and texture transformations are similarly defined.
 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
@@ -14657,9 +10404,9 @@ while the name stack is empty.
 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
@@ -14700,9 +10447,9 @@ where @r{@var{T}} represents the transpose.
 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
@@ -14795,9 +10542,9 @@ value.
 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
@@ -14959,9 +10706,9 @@ of @code{glEnd}.
 @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
@@ -15165,9 +10912,10 @@ of @code{glEnd}.
 @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
@@ -15243,9 +10991,10 @@ executed for a buffer object whose data store is not currently mapped.
 @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
@@ -15310,9 +11059,10 @@ not positive.
 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
@@ -15415,9 +11165,9 @@ is not an accepted value.
 @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
@@ -15459,9 +11209,9 @@ value.
 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
@@ -15526,9 +11276,9 @@ of the allowable values.
 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
@@ -15587,9 +11337,9 @@ currently mapped.
 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.
 
@@ -15647,9 +11397,16 @@ object's data store is currently mapped.
 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
@@ -15685,9 +11442,9 @@ values for @r{(@var{s},@var{t}@var{r}@var{q})} are @r{(0,001)}.
 
 
 
-@end defun
+@end deftypefun
 
-@defun glMultMatrix 
+@deftypefun void glMultMatrixd m
 Multiply the current matrix with the specified matrix.
 
 @table @asis
@@ -15708,9 +11465,9 @@ matrix, or the texture matrix.
 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
@@ -15732,9 +11489,10 @@ matrix, or the texture matrix.
 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
@@ -15822,9 +11580,9 @@ is made to the previous contents of the display list, if any, and no
 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
@@ -15876,9 +11634,10 @@ value.
 
 @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
@@ -15910,9 +11669,9 @@ results. To enable and disable normalization, call @code{glEnable} and
 @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
@@ -15963,9 +11722,9 @@ current matrix stack.
 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
@@ -15995,198 +11754,10 @@ maintained.
 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
@@ -16507,9 +12078,10 @@ other than 1, 2, 4, or 8.
 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
@@ -16806,9 +12378,9 @@ value.
 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
@@ -16841,9 +12413,10 @@ factors reflect the resulting image about the current raster position.
 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
@@ -16909,9 +12482,9 @@ but no error is generated.
 
 
 
-@end defun
+@end deftypefun
 
-@defun glPointSize 
+@deftypefun void glPointSize size
 Specify the diameter of rasterized points.
 
 @table @asis
@@ -17003,9 +12576,9 @@ to 0.
 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
@@ -17063,9 +12636,9 @@ is not an accepted value.
 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
@@ -17098,9 +12671,9 @@ edges.
 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
@@ -17152,9 +12725,9 @@ required would exceed the data store size.
 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
@@ -17205,9 +12778,10 @@ priority of a default texture.
 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
@@ -17717,9 +13291,10 @@ while the attribute stack is empty.
 @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
@@ -17759,9 +13334,10 @@ called while the attribute stack is full.
 @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
@@ -17793,9 +13369,10 @@ while the current matrix stack contains only a single matrix.
 @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
@@ -17833,9 +13410,14 @@ while the name stack is empty.
 @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
@@ -17905,9 +13487,9 @@ current raster RGBA color always maintains its initial value.
 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
@@ -17949,9 +13531,9 @@ buffer that does not exist.
 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
@@ -18214,9 +13796,10 @@ memory a datum indicated by @var{type}.
 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
@@ -18255,9 +13838,9 @@ glEnd();
 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
@@ -18329,9 +13912,9 @@ called while the render mode is @code{GL_FEEDBACK}, or if
 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
@@ -18350,9 +13933,9 @@ table to zero.
 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
@@ -18373,9 +13956,9 @@ maximum possible component values.
 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
@@ -18426,9 +14009,9 @@ restore the unrotated coordinate system.
 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
@@ -18469,9 +14052,9 @@ each sample.
 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
@@ -18505,9 +14088,9 @@ unscaled coordinate system.
 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
@@ -18547,9 +14130,9 @@ includes the entire window.
 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
@@ -18607,9 +14190,11 @@ value.
 
 @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
@@ -18654,9 +14239,9 @@ range @r{[0,1]} before the current color is updated. However, color
 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
@@ -18724,9 +14309,9 @@ called while the render mode is @code{GL_SELECT}, or if
 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
@@ -18909,9 +14494,9 @@ to store in memory a datum indicated by @var{type}.
 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
@@ -18985,9 +14570,9 @@ than @code{GL_FLAT} or @code{GL_SMOOTH}.
 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
@@ -19034,9 +14619,9 @@ object.
 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
@@ -19137,9 +14722,9 @@ eight accepted values.
 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
@@ -19235,9 +14820,9 @@ eight accepted values.
 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.
 
@@ -19272,9 +14857,9 @@ stencil writemasks to the same values, as if
 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.
 
@@ -19303,9 +14888,9 @@ to set front and back stencil writemasks to different values.
 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
@@ -19415,9 +15000,9 @@ than @code{GL_FRONT}, @code{GL_BACK}, or @code{GL_FRONT_AND_BACK}.
 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
@@ -19519,9 +15104,9 @@ test fails and passes, respectively.
 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
@@ -19579,9 +15164,16 @@ value.
 
 @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
@@ -19608,9 +15200,10 @@ values for @var{s}, @var{t}, @var{r}, and @var{q} are (0, 0, 0, 1).
 
 
 
-@end defun
+@end deftypefun
 
-@defun glTexEnv 
+@deftypefun void glTexEnvf target pname param
+@deftypefunx void glTexEnvi target pname param
 Set texture environment parameters.
 
 @table @asis
@@ -20033,9 +15626,10 @@ not.
 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
@@ -20158,9 +15752,9 @@ value.
 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
@@ -20489,9 +16083,9 @@ memory a datum indicated by @var{type}.
 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
@@ -20853,9 +16447,9 @@ memory a datum indicated by @var{type}.
 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
@@ -21182,9 +16776,10 @@ memory a datum indicated by @var{type}.
 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
@@ -21505,9 +17100,9 @@ defined constant value (based on the value of @var{pname}) and does not.
 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
@@ -21626,9 +17221,9 @@ memory a datum indicated by @var{type}.
 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
@@ -21770,9 +17365,9 @@ memory a datum indicated by @var{type}.
 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
@@ -21913,9 +17508,9 @@ memory a datum indicated by @var{type}.
 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
@@ -21948,9 +17543,16 @@ untranslated coordinate system.
 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
@@ -22064,9 +17666,9 @@ command other than @code{glUniform1i} and @code{glUniform1iv}.
 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
@@ -22195,9 +17797,9 @@ made part of current state.
 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
@@ -22240,9 +17842,9 @@ program object.
 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
@@ -22319,9 +17921,17 @@ value.
 
 @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
@@ -22412,9 +18022,9 @@ generic vertex attributes.
 @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
@@ -22472,9 +18082,14 @@ value.
 
 @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
@@ -22496,9 +18111,9 @@ When only @r{@var{x}} and @r{@var{y}} are specified, @r{@var{z}}
 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
@@ -22536,9 +18151,12 @@ argument @code{GL_MAX_VIEWPORT_DIMS}.
 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
@@ -22603,7 +18221,7 @@ matrix and the texture generation functions (see @code{glTexGen}). The
 executed between the execution of @code{glBegin} and the corresponding
 execution of @code{glEnd}.
 
-@end defun
+@end deftypefun
 
 
 @c %end of fragment