These commands return values for simple state variables in GL.
pname is a symbolic constant indicating the state variable to be
returned, and data is a pointer to an array of the indicated type in
which to place the returned data.
Type conversion is performed if data has a different type
than the state variable value being requested. If glGetBooleanv is
called, a floating-point (or integer) value is converted to GL_FALSE
if and only if it is 0.0 (or 0). Otherwise, it is converted to
GL_TRUE. If glGetIntegerv is called, boolean values are
returned as GL_TRUE or 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 -1.0 to the most negative
representable integer value. If glGetFloatv or glGetDoublev is
called, boolean values are returned as GL_TRUE or GL_FALSE,
and integer values are converted to floating-point values.
The following symbolic constants are accepted by pname:
GL_ACTIVE_TEXTURE
data returns a single value indicating the active
multitexture unit. The initial value is GL_TEXTURE0. See
glActiveTexture().
GL_ALIASED_LINE_WIDTH_RANGE
data returns a pair of values indicating the range
of widths supported for aliased lines. See glLineWidth().
GL_ARRAY_BUFFER_BINDING
data returns a single value, the name of the
buffer object currently bound to the target GL_ARRAY_BUFFER. If no
buffer object is bound to this target, 0 is returned. The initial value is 0.
See glBindBuffer().
GL_BLEND
data returns a single boolean value indicating
whether blending is enabled. The initial value is GL_FALSE. See
glBlendFunc().
GL_BLEND_COLOR
data returns four values, the red, green, blue,
and alpha values which are the components of the blend color. See
glBlendColor().
GL_BLEND_DST_ALPHA
data returns one value, the symbolic constant
identifying the alpha destination blend function. The initial value is
GL_ZERO. See glBlendFunc() and
glBlendFuncSeparate().
GL_BLEND_DST_RGB
data returns one value, the symbolic constant
identifying the RGB destination blend function. The initial value is
GL_ZERO. See glBlendFunc() and
glBlendFuncSeparate().
GL_BLEND_EQUATION_RGB
data returns one value, a symbolic constant
indicating whether the RGB blend equation is GL_FUNC_ADD,
GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MIN or
GL_MAX. See glBlendEquationSeparate().
GL_BLEND_EQUATION_ALPHA
data returns one value, a symbolic constant
indicating whether the Alpha blend equation is GL_FUNC_ADD,
GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MIN or
GL_MAX. See glBlendEquationSeparate().
GL_BLEND_SRC_ALPHA
data returns one value, the symbolic constant
identifying the alpha source blend function. The initial value is
GL_ONE. See glBlendFunc() and
glBlendFuncSeparate().
GL_BLEND_SRC_RGB
data returns one value, the symbolic constant
identifying the RGB source blend function. The initial value is GL_ONE.
See glBlendFunc() and glBlendFuncSeparate().
GL_COLOR_CLEAR_VALUE
data 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 -1.0
returns the most negative representable integer value. The initial value is
(0, 0, 0, 0). See glClearColor().
GL_COLOR_LOGIC_OP
data 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 GL_FALSE. See
glLogicOp().
GL_COLOR_WRITEMASK
data returns four boolean values: the red, green,
blue, and alpha write enables for the color buffers. The initial value is
(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE). See
glColorMask().
GL_COMPRESSED_TEXTURE_FORMATS
data returns a list of symbolic constants of
length GL_NUM_COMPRESSED_TEXTURE_FORMATS indicating which compressed
texture formats are available. See glCompressedTexImage2D().
GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS
data returns one value, the maximum number of
active shader storage blocks that may be accessed by a compute shader.
GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS
data returns one value, the maximum total number
of active shader storage blocks that may be accessed by all active
shaders.
GL_MAX_COMPUTE_UNIFORM_BLOCKS
data returns one value, the maximum number of
uniform blocks per compute shader. The value must be at least 14. See
glUniformBlockBinding().
GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS
data returns one value, the maximum supported
texture image units that can be used to access texture maps from the compute
shader. The value must be at least 16. See glActiveTexture().
GL_MAX_COMPUTE_UNIFORM_COMPONENTS
data returns one value, the maximum number of
individual floating-point, integer, or boolean values that can be held in
uniform variable storage for a compute shader. The value must be at least
1024. See glUniform().
GL_MAX_COMPUTE_ATOMIC_COUNTERS
data returns a single value, the maximum number of
atomic counters available to compute shaders.
GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS
data returns a single value, the maximum number of
atomic counter buffers that may be accessed by a compute shader.
GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS
data returns one value, the number of words for
compute shader uniform variables in all uniform blocks (including default).
The value must be at least 1. See glUniform().
GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS
data returns one value, the number of invocations
in a single local work group (i.e., the product of the three dimensions) that
may be dispatched to a compute shader.
GL_MAX_COMPUTE_WORK_GROUP_COUNT
Accepted by the indexed versions of glGet.
data the maximum number of work groups that may be dispatched to a
compute shader. Indices 0, 1, and 2 correspond to the X, Y and Z dimensions,
respectively.
GL_MAX_COMPUTE_WORK_GROUP_SIZE
Accepted by the indexed versions of glGet.
data the maximum size of a work groups that may be used during
compilation of a compute shader. Indices 0, 1, and 2 correspond to the X, Y
and Z dimensions, respectively.
GL_DISPATCH_INDIRECT_BUFFER_BINDING
data returns a single value, the name of the
buffer object currently bound to the target
GL_DISPATCH_INDIRECT_BUFFER. If no buffer object is bound to this
target, 0 is returned. The initial value is 0. See
glBindBuffer().
GL_MAX_DEBUG_GROUP_STACK_DEPTH
data returns a single value, the maximum depth of
the debug message group stack.
GL_DEBUG_GROUP_STACK_DEPTH
data returns a single value, the current depth of
the debug message group stack.
GL_CONTEXT_FLAGS
data returns one value, the flags with which the
context was created (such as debugging functionality).
GL_CULL_FACE
data returns a single boolean value indicating
whether polygon culling is enabled. The initial value is GL_FALSE. See
glCullFace().
GL_CULL_FACE_MODE
data returns a single value indicating the mode of
polygon culling. The initial value is GL_BACK. See
glCullFace().
GL_CURRENT_PROGRAM
data returns one value, the name of the program
object that is currently active, or 0 if no program object is active. See
glUseProgram().
GL_DEPTH_CLEAR_VALUE
data 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 -1.0 returns the most negative
representable integer value. The initial value is 1. See
glClearDepth().
GL_DEPTH_FUNC
data returns one value, the symbolic constant that
indicates the depth comparison function. The initial value is GL_LESS.
See glDepthFunc().
GL_DEPTH_RANGE
data 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 -1.0 returns the most negative
representable integer value. The initial value is (0, 1). See
glDepthRange().
GL_DEPTH_TEST
data returns a single boolean value indicating
whether depth testing of fragments is enabled. The initial value is
GL_FALSE. See glDepthFunc() and glDepthRange().
GL_DEPTH_WRITEMASK
data returns a single boolean value indicating if
the depth buffer is enabled for writing. The initial value is GL_TRUE.
See glDepthMask().
GL_DITHER
data returns a single boolean value indicating
whether dithering of fragment colors and indices is enabled. The initial value
is GL_TRUE.
GL_DOUBLEBUFFER
data returns a single boolean value indicating
whether double buffering is supported.
GL_DRAW_BUFFER
data returns one value, a symbolic constant
indicating which buffers are being drawn to. See glDrawBuffer(). The
initial value is GL_BACK if there are back buffers, otherwise it is
GL_FRONT.
GL_DRAW_BUFFERi
data returns one value, a symbolic constant
indicating which buffers are being drawn to by the corresponding output color.
See glDrawBuffers(). The initial value of GL_DRAW_BUFFER0 is
GL_BACK if there are back buffers, otherwise it is GL_FRONT. The
initial values of draw buffers for all other output colors is
GL_NONE.
GL_DRAW_FRAMEBUFFER_BINDING
data returns one value, the name of the
framebuffer object currently bound to the GL_DRAW_FRAMEBUFFER target.
If the default framebuffer is bound, this value will be zero. The initial
value is zero. See glBindFramebuffer().
GL_READ_FRAMEBUFFER_BINDING
data returns one value, the name of the
framebuffer object currently bound to the GL_READ_FRAMEBUFFER target.
If the default framebuffer is bound, this value will be zero. The initial
value is zero. See glBindFramebuffer().
GL_ELEMENT_ARRAY_BUFFER_BINDING
data returns a single value, the name of the
buffer object currently bound to the target GL_ELEMENT_ARRAY_BUFFER. If
no buffer object is bound to this target, 0 is returned. The initial value is
0. See glBindBuffer().
GL_FRAGMENT_SHADER_DERIVATIVE_HINT
data returns one value, a symbolic constant
indicating the mode of the derivative accuracy hint for fragment shaders. The
initial value is GL_DONT_CARE. See glHint().
GL_IMPLEMENTATION_COLOR_READ_FORMAT
data returns a single GLenum value indicating the
implementation's preferred pixel data format. See glReadPixels().
GL_IMPLEMENTATION_COLOR_READ_TYPE
data returns a single GLenum value indicating the
implementation's preferred pixel data type. See glReadPixels().
GL_LINE_SMOOTH
data returns a single boolean value indicating
whether antialiasing of lines is enabled. The initial value is
GL_FALSE. See glLineWidth().
GL_LINE_SMOOTH_HINT
data returns one value, a symbolic constant
indicating the mode of the line antialiasing hint. The initial value is
GL_DONT_CARE. See glHint().
GL_LINE_WIDTH
data returns one value, the line width as
specified with glLineWidth(). The initial value is 1.
GL_LAYER_PROVOKING_VERTEX
data returns one value, the implementation
dependent specifc vertex of a primitive that is used to select the rendering
layer. If the value returned is equivalent to GL_PROVOKING_VERTEX, then
the vertex selection follows the convention specified by
glProvokingVertex(). If the value returned is equivalent to
GL_FIRST_VERTEX_CONVENTION, then the selection is always taken from the
first vertex in the primitive. If the value returned is equivalent to
GL_LAST_VERTEX_CONVENTION, then the selection is always taken from the
last vertex in the primitive. If the value returned is equivalent to
GL_UNDEFINED_VERTEX, then the selection is not guaranteed to be taken
from any specific vertex in the primitive.
GL_LOGIC_OP_MODE
data returns one value, a symbolic constant
indicating the selected logic operation mode. The initial value is
GL_COPY. See glLogicOp().
GL_MAJOR_VERSION
data returns one value, the major version number
of the OpenGL API supported by the current context.
GL_MAX_3D_TEXTURE_SIZE
data returns one value, a rough estimate of the
largest 3D texture that the GL can handle. The value must be at least 64. Use
GL_PROXY_TEXTURE_3D to determine if a texture is too large. See
glTexImage3D().
GL_MAX_ARRAY_TEXTURE_LAYERS
data returns one value. The value indicates the
maximum number of layers allowed in an array texture, and must be at least
256. See glTexImage2D().
GL_MAX_CLIP_DISTANCES
data returns one value, the maximum number of
application-defined clipping distances. The value must be at least 8.
GL_MAX_COLOR_TEXTURE_SAMPLES
data returns one value, the maximum number of
samples in a color multisample texture.
GL_MAX_COMBINED_ATOMIC_COUNTERS
data returns a single value, the maximum number of
atomic counters available to all active shaders.
GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS
data returns one value, the number of words for
fragment shader uniform variables in all uniform blocks (including default).
The value must be at least 1. See glUniform().
GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS
data returns one value, the number of words for
geometry shader uniform variables in all uniform blocks (including default).
The value must be at least 1. See glUniform().
GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS
data 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 48. See glActiveTexture().
GL_MAX_COMBINED_UNIFORM_BLOCKS
data returns one value, the maximum number of
uniform blocks per program. The value must be at least 70. See
glUniformBlockBinding().
GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS
data returns one value, the number of words for
vertex shader uniform variables in all uniform blocks (including default). The
value must be at least 1. See glUniform().
GL_MAX_CUBE_MAP_TEXTURE_SIZE
data 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 1024. Use GL_PROXY_TEXTURE_CUBE_MAP to determine if a
texture is too large. See glTexImage2D().
GL_MAX_DEPTH_TEXTURE_SAMPLES
data returns one value, the maximum number of
samples in a multisample depth or depth-stencil texture.
GL_MAX_DRAW_BUFFERS
data returns one value, the maximum number of
simultaneous outputs that may be written in a fragment shader. The value must
be at least 8. See glDrawBuffers().
GL_MAX_DUAL_SOURCE_DRAW_BUFFERS
data returns one value, the maximum number of
active draw buffers when using dual-source blending. The value must be at
least 1. See glBlendFunc() and glBlendFuncSeparate().
GL_MAX_ELEMENTS_INDICES
data returns one value, the recommended maximum
number of vertex array indices. See glDrawRangeElements().
GL_MAX_ELEMENTS_VERTICES
data returns one value, the recommended maximum
number of vertex array vertices. See glDrawRangeElements().
GL_MAX_FRAGMENT_ATOMIC_COUNTERS
data returns a single value, the maximum number of
atomic counters available to fragment shaders.
GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS
data returns one value, the maximum number of
active shader storage blocks that may be accessed by a fragment shader.
GL_MAX_FRAGMENT_INPUT_COMPONENTS
data returns one value, the maximum number of
components of the inputs read by the fragment shader, which must be at least
128.
GL_MAX_FRAGMENT_UNIFORM_COMPONENTS
data 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
1024. See glUniform().
GL_MAX_FRAGMENT_UNIFORM_VECTORS
data returns one value, the maximum number of
individual 4-vectors of floating-point, integer, or boolean values that can be
held in uniform variable storage for a fragment shader. The value is equal to
the value of GL_MAX_FRAGMENT_UNIFORM_COMPONENTS divided by 4 and must
be at least 256. See glUniform().
GL_MAX_FRAGMENT_UNIFORM_BLOCKS
data returns one value, the maximum number of
uniform blocks per fragment shader. The value must be at least 12. See
glUniformBlockBinding().
GL_MAX_FRAMEBUFFER_WIDTH
data returns one value, the maximum width for a
framebuffer that has no attachments, which must be at least 16384. See
glFramebufferParameter.
GL_MAX_FRAMEBUFFER_HEIGHT
data returns one value, the maximum height for a
framebuffer that has no attachments, which must be at least 16384. See
glFramebufferParameter.
GL_MAX_FRAMEBUFFER_LAYERS
data returns one value, the maximum number of
layers for a framebuffer that has no attachments, which must be at least 2048.
See
glFramebufferParameter.
GL_MAX_FRAMEBUFFER_SAMPLES
data returns one value, the maximum samples in a
framebuffer that has no attachments, which must be at least 4. See
glFramebufferParameter.
GL_MAX_GEOMETRY_ATOMIC_COUNTERS
data returns a single value, the maximum number of
atomic counters available to geometry shaders.
GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS
data returns one value, the maximum number of
active shader storage blocks that may be accessed by a geometry shader.
GL_MAX_GEOMETRY_INPUT_COMPONENTS
data returns one value, the maximum number of
components of inputs read by a geometry shader, which must be at least
64.
GL_MAX_GEOMETRY_OUTPUT_COMPONENTS
data returns one value, the maximum number of
components of outputs written by a geometry shader, which must be at least
128.
GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS
data returns one value, the maximum supported
texture image units that can be used to access texture maps from the geometry
shader. The value must be at least 16. See glActiveTexture().
GL_MAX_GEOMETRY_UNIFORM_BLOCKS
data returns one value, the maximum number of
uniform blocks per geometry shader. The value must be at least 12. See
glUniformBlockBinding().
GL_MAX_GEOMETRY_UNIFORM_COMPONENTS
data returns one value, the maximum number of
individual floating-point, integer, or boolean values that can be held in
uniform variable storage for a geometry shader. The value must be at least
1024. See glUniform().
GL_MAX_INTEGER_SAMPLES
data returns one value, the maximum number of
samples supported in integer format multisample buffers.
GL_MIN_MAP_BUFFER_ALIGNMENT
data returns one value, the minimum alignment in
basic machine units of pointers returned fromglMapBuffer() and
glMapBufferRange(). This value must be a power of two and must be at
least 64.
GL_MAX_LABEL_LENGTH
data returns one value, the maximum length of a
label that may be assigned to an object. See glObjectLabel() and
glObjectPtrLabel().
GL_MAX_PROGRAM_TEXEL_OFFSET
data returns one value, the maximum texel offset
allowed in a texture lookup, which must be at least 7.
GL_MIN_PROGRAM_TEXEL_OFFSET
data returns one value, the minimum texel offset
allowed in a texture lookup, which must be at most -8.
GL_MAX_RECTANGLE_TEXTURE_SIZE
data returns one value. The value gives a rough
estimate of the largest rectangular texture that the GL can handle. The value
must be at least 1024. Use GL_PROXY_TEXTURE_RECTANGLE to determine if a
texture is too large. See glTexImage2D().
GL_MAX_RENDERBUFFER_SIZE
data returns one value. The value indicates the
maximum supported size for renderbuffers. See
glFramebufferRenderbuffer().
GL_MAX_SAMPLE_MASK_WORDS
data returns one value, the maximum number of
sample mask words.
GL_MAX_SERVER_WAIT_TIMEOUT
data returns one value, the maximum
glWaitSync() timeout interval.
GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS
data returns one value, the maximum number of
shader storage buffer binding points on the context, which must be at least
8.
GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS
data returns a single value, the maximum number of
atomic counters available to tessellation control shaders.
GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS
data returns a single value, the maximum number of
atomic counters available to tessellation evaluation shaders.
GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS
data returns one value, the maximum number of
active shader storage blocks that may be accessed by a tessellation control
shader.
GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS
data returns one value, the maximum number of
active shader storage blocks that may be accessed by a tessellation evaluation
shader.
GL_MAX_TEXTURE_BUFFER_SIZE
data returns one value. The value gives the
maximum number of texels allowed in the texel array of a texture buffer
object. Value must be at least 65536.
GL_MAX_TEXTURE_IMAGE_UNITS
data 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 16. See glActiveTexture().
GL_MAX_TEXTURE_LOD_BIAS
data returns one value, the maximum, absolute
value of the texture level-of-detail bias. The value must be at least
2.0.
GL_MAX_TEXTURE_SIZE
data returns one value. The value gives a rough
estimate of the largest texture that the GL can handle. The value must be at
least 1024. Use a proxy texture target such as GL_PROXY_TEXTURE_1D or
GL_PROXY_TEXTURE_2D to determine if a texture is too large. See
glTexImage1D() and glTexImage2D().
GL_MAX_UNIFORM_BUFFER_BINDINGS
data returns one value, the maximum number of
uniform buffer binding points on the context, which must be at least 36.
GL_MAX_UNIFORM_BLOCK_SIZE
data returns one value, the maximum size in basic
machine units of a uniform block, which must be at least 16384.
GL_MAX_UNIFORM_LOCATIONS
data returns one value, the maximum number of
explicitly assignable uniform locations, which must be at least 1024.
GL_MAX_VARYING_COMPONENTS
data returns one value, the number components for
varying variables, which must be at least 60.
GL_MAX_VARYING_VECTORS
data returns one value, the number 4-vectors for
varying variables, which is equal to the value of
GL_MAX_VARYING_COMPONENTS and must be at least 15.
GL_MAX_VARYING_FLOATS
data 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.
GL_MAX_VERTEX_ATOMIC_COUNTERS
data returns a single value, the maximum number of
atomic counters available to vertex shaders.
GL_MAX_VERTEX_ATTRIBS
data 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 glVertexAttrib().
GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS
data returns one value, the maximum number of
active shader storage blocks that may be accessed by a vertex shader.
GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS
data 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 at least 16. See glActiveTexture().
GL_MAX_VERTEX_UNIFORM_COMPONENTS
data 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 1024.
See glUniform().
GL_MAX_VERTEX_UNIFORM_VECTORS
data returns one value, the maximum number of
4-vectors that may be held in uniform variable storage for the vertex shader.
The value of GL_MAX_VERTEX_UNIFORM_VECTORS is equal to the value of
GL_MAX_VERTEX_UNIFORM_COMPONENTS and must be at least 256.
GL_MAX_VERTEX_OUTPUT_COMPONENTS
data returns one value, the maximum number of
components of output written by a vertex shader, which must be at least
64.
GL_MAX_VERTEX_UNIFORM_BLOCKS
data returns one value, the maximum number of
uniform blocks per vertex shader. The value must be at least 12. See
glUniformBlockBinding().
GL_MAX_VIEWPORT_DIMS
data 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
glViewport().
GL_MAX_VIEWPORTS
data returns one value, the maximum number of
simultaneous viewports that are supported. The value must be at least 16. See
glViewportIndexed().
GL_MINOR_VERSION
data returns one value, the minor version number
of the OpenGL API supported by the current context.
GL_NUM_COMPRESSED_TEXTURE_FORMATS
data returns a single integer value indicating the
number of available compressed texture formats. The minimum value is 4. See
glCompressedTexImage2D().
GL_NUM_EXTENSIONS
data returns one value, the number of extensions
supported by the GL implementation for the current context. See
glGetString().
GL_NUM_PROGRAM_BINARY_FORMATS
data returns one value, the number of program
binary formats supported by the implementation.
GL_NUM_SHADER_BINARY_FORMATS
data returns one value, the number of binary
shader formats supported by the implementation. If this value is greater than
zero, then the implementation supports loading binary shaders. If it is zero,
then the loading of binary shaders by the implementation is not
supported.
GL_PACK_ALIGNMENT
data returns one value, the byte alignment used
for writing pixel data to memory. The initial value is 4. See
glPixelStore().
GL_PACK_IMAGE_HEIGHT
data returns one value, the image height used for
writing pixel data to memory. The initial value is 0. See
glPixelStore().
GL_PACK_LSB_FIRST
data 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
GL_FALSE. See glPixelStore().
GL_PACK_ROW_LENGTH
data returns one value, the row length used for
writing pixel data to memory. The initial value is 0. See
glPixelStore().
GL_PACK_SKIP_IMAGES
data returns one value, the number of pixel images
skipped before the first pixel is written into memory. The initial value is 0.
See glPixelStore().
GL_PACK_SKIP_PIXELS
data returns one value, the number of pixel
locations skipped before the first pixel is written into memory. The initial
value is 0. See glPixelStore().
GL_PACK_SKIP_ROWS
data 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 glPixelStore().
GL_PACK_SWAP_BYTES
data 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 GL_FALSE.
See glPixelStore().
GL_PIXEL_PACK_BUFFER_BINDING
data returns a single value, the name of the
buffer object currently bound to the target GL_PIXEL_PACK_BUFFER. If no
buffer object is bound to this target, 0 is returned. The initial value is 0.
See glBindBuffer().
GL_PIXEL_UNPACK_BUFFER_BINDING
data returns a single value, the name of the
buffer object currently bound to the target GL_PIXEL_UNPACK_BUFFER. If
no buffer object is bound to this target, 0 is returned. The initial value is
0. See glBindBuffer().
GL_POINT_FADE_THRESHOLD_SIZE
data returns one value, the point size threshold
for determining the point size. See glPointParameter().
GL_PRIMITIVE_RESTART_INDEX
data returns one value, the current primitive
restart index. The initial value is 0. See
glPrimitiveRestartIndex().
GL_PROGRAM_BINARY_FORMATS
data an array of
GL_NUM_PROGRAM_BINARY_FORMATS values, indicating the proram binary
formats supported by the implementation.
GL_PROGRAM_PIPELINE_BINDING
data a single value, the name of the currently
bound program pipeline object, or zero if no program pipeline object is bound.
See glBindProgramPipeline().
GL_PROGRAM_POINT_SIZE
data returns a single boolean value indicating
whether vertex program point size mode is enabled. If enabled, then the point
size is taken from the shader built-in gl_PointSize. If disabled, then the
point size is taken from the point state as specified by glPointSize().
The initial value is GL_FALSE.
GL_PROVOKING_VERTEX
data returns one value, the currently selected
provoking vertex convention. The initial value is
GL_LAST_VERTEX_CONVENTION. See glProvokingVertex().
GL_POINT_SIZE
data returns one value, the point size as
specified by glPointSize(). The initial value is 1.
GL_POINT_SIZE_GRANULARITY
data returns one value, the size difference
between adjacent supported sizes for antialiased points. See
glPointSize().
GL_POINT_SIZE_RANGE
data 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 glPointSize().
GL_POLYGON_OFFSET_FACTOR
data 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
glPolygonOffset().
GL_POLYGON_OFFSET_UNITS
data 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
glPolygonOffset().
GL_POLYGON_OFFSET_FILL
data returns a single boolean value indicating
whether polygon offset is enabled for polygons in fill mode. The initial value
is GL_FALSE. See glPolygonOffset().
GL_POLYGON_OFFSET_LINE
data returns a single boolean value indicating
whether polygon offset is enabled for polygons in line mode. The initial value
is GL_FALSE. See glPolygonOffset().
GL_POLYGON_OFFSET_POINT
data returns a single boolean value indicating
whether polygon offset is enabled for polygons in point mode. The initial
value is GL_FALSE. See glPolygonOffset().
GL_POLYGON_SMOOTH
data returns a single boolean value indicating
whether antialiasing of polygons is enabled. The initial value is
GL_FALSE. See glPolygonMode().
GL_POLYGON_SMOOTH_HINT
data returns one value, a symbolic constant
indicating the mode of the polygon antialiasing hint. The initial value is
GL_DONT_CARE. See glHint().
GL_READ_BUFFER
data returns one value, a symbolic constant
indicating which color buffer is selected for reading. The initial value is
GL_BACK if there is a back buffer, otherwise it is GL_FRONT. See
glReadPixels().
GL_RENDERBUFFER_BINDING
data returns a single value, the name of the
renderbuffer object currently bound to the target GL_RENDERBUFFER. If
no renderbuffer object is bound to this target, 0 is returned. The initial
value is 0. See glBindRenderbuffer().
GL_SAMPLE_BUFFERS
data returns a single integer value indicating the
number of sample buffers associated with the framebuffer. See
glSampleCoverage().
GL_SAMPLE_COVERAGE_VALUE
data returns a single positive floating-point
value indicating the current sample coverage value. See
glSampleCoverage().
GL_SAMPLE_COVERAGE_INVERT
data returns a single boolean value indicating if
the temporary coverage value should be inverted. See
glSampleCoverage().
GL_SAMPLE_MASK_VALUE
params returns one value indicating the current
sample mask value. See glSampleMaski().
GL_SAMPLER_BINDING
data returns a single value, the name of the
sampler object currently bound to the active texture unit. The initial value
is 0. See glBindSampler().
GL_SAMPLES
data returns a single integer value indicating the
coverage mask size. See glSampleCoverage().
GL_SCISSOR_BOX
data returns four values: the x and y window
coordinates of the scissor box, followed by its width and height. Initially
the x and y window coordinates are both 0 and the width and height are set to
the size of the window. See glScissor().
GL_SCISSOR_TEST
data returns a single boolean value indicating
whether scissoring is enabled. The initial value is GL_FALSE. See
glScissor().
GL_SHADER_COMPILER
data returns a single boolean value indicating
whether an online shader compiler is present in the implementation. All
desktop OpenGL implementations must support online shader compilations, and
therefore the value of GL_SHADER_COMPILER will always be
GL_TRUE.
GL_SHADER_STORAGE_BUFFER_BINDING
When used with non-indexed variants of glGet (such
as glGetIntegerv), data returns a single value, the name of the
buffer object currently bound to the target GL_SHADER_STORAGE_BUFFER.
If no buffer object is bound to this target, 0 is returned. When used with
indexed variants of glGet (such as glGetIntegeri_v), data
returns a single value, the name of the buffer object bound to the indexed
shader storage buffer binding points. The initial value is 0 for all targets.
See glBindBuffer(), glBindBufferBase(), and
glBindBufferRange().
GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT
data returns a single value, the minimum required
alignment for shader storage buffer sizes and offset. The initial value is 1.
See glShaderStorageBlockBinding().
GL_SHADER_STORAGE_BUFFER_START
When used with indexed variants of glGet (such as
glGetInteger64i_v), data returns a single value, the start
offset of the binding range for each indexed shader storage buffer binding.
The initial value is 0 for all bindings. See glBindBufferRange().
GL_SHADER_STORAGE_BUFFER_SIZE
When used with indexed variants of glGet (such as
glGetInteger64i_v), data returns a single value, the size of the
binding range for each indexed shader storage buffer binding. The initial
value is 0 for all bindings. See glBindBufferRange().
GL_SMOOTH_LINE_WIDTH_RANGE
data returns a pair of values indicating the range
of widths supported for smooth (antialiased) lines. See
glLineWidth().
GL_SMOOTH_LINE_WIDTH_GRANULARITY
data returns a single value indicating the level
of quantization applied to smooth line width parameters.
GL_STENCIL_BACK_FAIL
data returns one value, a symbolic constant
indicating what action is taken for back-facing polygons when the stencil test
fails. The initial value is GL_KEEP. See
glStencilOpSeparate().
GL_STENCIL_BACK_FUNC
data 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
GL_ALWAYS. See glStencilFuncSeparate().
GL_STENCIL_BACK_PASS_DEPTH_FAIL
data 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 GL_KEEP. See
glStencilOpSeparate().
GL_STENCIL_BACK_PASS_DEPTH_PASS
data 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 GL_KEEP. See
glStencilOpSeparate().
GL_STENCIL_BACK_REF
data 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 glStencilFuncSeparate().
GL_STENCIL_BACK_VALUE_MASK
data 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
glStencilFuncSeparate().
GL_STENCIL_BACK_WRITEMASK
data returns one value, the mask that controls
writing of the stencil bitplanes for back-facing polygons. The initial value
is all 1's. See glStencilMaskSeparate().
GL_STENCIL_CLEAR_VALUE
data returns one value, the index to which the
stencil bitplanes are cleared. The initial value is 0. See
glClearStencil().
GL_STENCIL_FAIL
data returns one value, a symbolic constant
indicating what action is taken when the stencil test fails. The initial value
is GL_KEEP. See glStencilOp(). This stencil state only affects
non-polygons and front-facing polygons. Back-facing polygons use separate
stencil state. See glStencilOpSeparate().
GL_STENCIL_FUNC
data 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 GL_ALWAYS. See
glStencilFunc(). This stencil state only affects non-polygons and
front-facing polygons. Back-facing polygons use separate stencil state. See
glStencilFuncSeparate().
GL_STENCIL_PASS_DEPTH_FAIL
data 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 GL_KEEP. See glStencilOp().
This stencil state only affects non-polygons and front-facing polygons.
Back-facing polygons use separate stencil state. See
glStencilOpSeparate().
GL_STENCIL_PASS_DEPTH_PASS
data 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 GL_KEEP. See glStencilOp().
This stencil state only affects non-polygons and front-facing polygons.
Back-facing polygons use separate stencil state. See
glStencilOpSeparate().
GL_STENCIL_REF
data returns one value, the reference value that
is compared with the contents of the stencil buffer. The initial value is 0.
See glStencilFunc(). This stencil state only affects non-polygons and
front-facing polygons. Back-facing polygons use separate stencil state. See
glStencilFuncSeparate().
GL_STENCIL_TEST
data returns a single boolean value indicating
whether stencil testing of fragments is enabled. The initial value is
GL_FALSE. See glStencilFunc() and glStencilOp().
GL_STENCIL_VALUE_MASK
data 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 glStencilFunc(). This
stencil state only affects non-polygons and front-facing polygons. Back-facing
polygons use separate stencil state. See glStencilFuncSeparate().
GL_STENCIL_WRITEMASK
data returns one value, the mask that controls
writing of the stencil bitplanes. The initial value is all 1's. See
glStencilMask(). This stencil state only affects non-polygons and
front-facing polygons. Back-facing polygons use separate stencil state. See
glStencilMaskSeparate().
GL_STEREO
data returns a single boolean value indicating
whether stereo buffers (left and right) are supported.
GL_SUBPIXEL_BITS
data 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.
GL_TEXTURE_BINDING_1D
data returns a single value, the name of the
texture currently bound to the target GL_TEXTURE_1D. The initial value
is 0. See glBindTexture().
GL_TEXTURE_BINDING_1D_ARRAY
data returns a single value, the name of the
texture currently bound to the target GL_TEXTURE_1D_ARRAY. The initial
value is 0. See glBindTexture().
GL_TEXTURE_BINDING_2D
data returns a single value, the name of the
texture currently bound to the target GL_TEXTURE_2D. The initial value
is 0. See glBindTexture().
GL_TEXTURE_BINDING_2D_ARRAY
data returns a single value, the name of the
texture currently bound to the target GL_TEXTURE_2D_ARRAY. The initial
value is 0. See glBindTexture().
GL_TEXTURE_BINDING_2D_MULTISAMPLE
data returns a single value, the name of the
texture currently bound to the target GL_TEXTURE_2D_MULTISAMPLE. The
initial value is 0. See glBindTexture().
GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY
data returns a single value, the name of the
texture currently bound to the target GL_TEXTURE_2D_MULTISAMPLE_ARRAY.
The initial value is 0. See glBindTexture().
GL_TEXTURE_BINDING_3D
data returns a single value, the name of the
texture currently bound to the target GL_TEXTURE_3D. The initial value
is 0. See glBindTexture().
GL_TEXTURE_BINDING_BUFFER
data returns a single value, the name of the
texture currently bound to the target GL_TEXTURE_BUFFER. The initial
value is 0. See glBindTexture().
GL_TEXTURE_BINDING_CUBE_MAP
data returns a single value, the name of the
texture currently bound to the target GL_TEXTURE_CUBE_MAP. The initial
value is 0. See glBindTexture().
GL_TEXTURE_BINDING_RECTANGLE
data returns a single value, the name of the
texture currently bound to the target GL_TEXTURE_RECTANGLE. The initial
value is 0. See glBindTexture().
GL_TEXTURE_COMPRESSION_HINT
data returns a single value indicating the mode of
the texture compression hint. The initial value is GL_DONT_CARE.
GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT
data returns a single value, the minimum required
alignment for texture buffer sizes and offset. The initial value is 1. See
glUniformBlockBinding().
GL_TIMESTAMP
data returns a single value, the 64-bit value of
the current GL time. See glQueryCounter().
GL_TRANSFORM_FEEDBACK_BUFFER_BINDING
When used with non-indexed variants of glGet (such
as glGetIntegerv), data returns a single value, the name of the
buffer object currently bound to the target
GL_TRANSFORM_FEEDBACK_BUFFER. If no buffer object is bound to this
target, 0 is returned. When used with indexed variants of glGet (such
as glGetIntegeri_v), data returns a single value, the name of
the buffer object bound to the indexed transform feedback attribute stream.
The initial value is 0 for all targets. See glBindBuffer(),
glBindBufferBase(), and glBindBufferRange().
GL_TRANSFORM_FEEDBACK_BUFFER_START
When used with indexed variants of glGet (such as
glGetInteger64i_v), data returns a single value, the start
offset of the binding range for each transform feedback attribute stream. The
initial value is 0 for all streams. See glBindBufferRange().
GL_TRANSFORM_FEEDBACK_BUFFER_SIZE
When used with indexed variants of glGet (such as
glGetInteger64i_v), data returns a single value, the size of the
binding range for each transform feedback attribute stream. The initial value
is 0 for all streams. See glBindBufferRange().
GL_UNIFORM_BUFFER_BINDING
When used with non-indexed variants of glGet (such
as glGetIntegerv), data returns a single value, the name of the
buffer object currently bound to the target GL_UNIFORM_BUFFER. If no
buffer object is bound to this target, 0 is returned. When used with indexed
variants of glGet (such as glGetIntegeri_v), data returns
a single value, the name of the buffer object bound to the indexed uniform
buffer binding point. The initial value is 0 for all targets. See
glBindBuffer(), glBindBufferBase(), and
glBindBufferRange().
GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT
data returns a single value, the minimum required
alignment for uniform buffer sizes and offset. The initial value is 1. See
glUniformBlockBinding().
GL_UNIFORM_BUFFER_SIZE
When used with indexed variants of glGet (such as
glGetInteger64i_v), data returns a single value, the size of the
binding range for each indexed uniform buffer binding. The initial value is 0
for all bindings. See glBindBufferRange().
GL_UNIFORM_BUFFER_START
When used with indexed variants of glGet (such as
glGetInteger64i_v), data returns a single value, the start
offset of the binding range for each indexed uniform buffer binding. The
initial value is 0 for all bindings. See glBindBufferRange().
GL_UNPACK_ALIGNMENT
data returns one value, the byte alignment used
for reading pixel data from memory. The initial value is 4. See
glPixelStore().
GL_UNPACK_IMAGE_HEIGHT
data returns one value, the image height used for
reading pixel data from memory. The initial is 0. See
glPixelStore().
GL_UNPACK_LSB_FIRST
data 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 GL_FALSE.
See glPixelStore().
GL_UNPACK_ROW_LENGTH
data returns one value, the row length used for
reading pixel data from memory. The initial value is 0. See
glPixelStore().
GL_UNPACK_SKIP_IMAGES
data returns one value, the number of pixel images
skipped before the first pixel is read from memory. The initial value is 0.
See glPixelStore().
GL_UNPACK_SKIP_PIXELS
data returns one value, the number of pixel
locations skipped before the first pixel is read from memory. The initial
value is 0. See glPixelStore().
GL_UNPACK_SKIP_ROWS
data 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 glPixelStore().
GL_UNPACK_SWAP_BYTES
data 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 GL_FALSE.
See glPixelStore().
GL_VERTEX_ARRAY_BINDING
data returns a single value, the name of the
vertex array object currently bound to the context. If no vertex array object
is bound to the context, 0 is returned. The initial value is 0. See
glBindVertexArray().
GL_VERTEX_BINDING_DIVISOR
Accepted by the indexed forms. data returns a
single integer value representing the instance step divisor of the first
element in the bound buffer's data store for vertex attribute bound to
index.
GL_VERTEX_BINDING_OFFSET
Accepted by the indexed forms. data returns a
single integer value representing the byte offset of the first element in the
bound buffer's data store for vertex attribute bound to index.
GL_VERTEX_BINDING_STRIDE
Accepted by the indexed forms. data returns a
single integer value representing the byte offset between the start of each
element in the bound buffer's data store for vertex attribute bound to
index.
GL_VERTEX_BINDING_BUFFER
Accepted by the indexed forms. data returns a
single integer value representing the name of the buffer bound to vertex
binding index.
GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET
data returns a single integer value containing the
maximum offset that may be added to a vertex binding offset.
GL_MAX_VERTEX_ATTRIB_BINDINGS
data returns a single integer value containing the
maximum number of vertex buffers that may be bound.
GL_VIEWPORT
When used with non-indexed variants of
glGet (such
as
glGetIntegerv),
data returns four values: the x and y window
coordinates of the viewport, followed by its width and height. Initially the x
and 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
glViewport().
When used with indexed variants of glGet (such as
glGetIntegeri_v), data returns four values: the x and y window
coordinates of the indexed viewport, followed by its width and height.
Initially the x and 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
glViewportIndexedf.
GL_VIEWPORT_BOUNDS_RANGE
data returns two values, the minimum and maximum
viewport bounds range. The minimum range should be at least [-32768,
32767].
GL_VIEWPORT_INDEX_PROVOKING_VERTEX
data returns one value, the implementation
dependent specifc vertex of a primitive that is used to select the viewport
index. If the value returned is equivalent to GL_PROVOKING_VERTEX, then
the vertex selection follows the convention specified by
glProvokingVertex(). If the value returned is equivalent to
GL_FIRST_VERTEX_CONVENTION, then the selection is always taken from the
first vertex in the primitive. If the value returned is equivalent to
GL_LAST_VERTEX_CONVENTION, then the selection is always taken from the
last vertex in the primitive. If the value returned is equivalent to
GL_UNDEFINED_VERTEX, then the selection is not guaranteed to be taken
from any specific vertex in the primitive.
GL_VIEWPORT_SUBPIXEL_BITS
data returns a single value, the number of bits of
sub-pixel precision which the GL uses to interpret the floating point viewport
bounds. The minimum value is 0.
GL_MAX_ELEMENT_INDEX
data returns a single value, the maximum index
that may be specified during the transfer of generic vertex attributes to the
GL.
Many of the boolean parameters can also be queried more easily
using glIsEnabled().