Get value | Type | Get command | Initial value | Description | Attribute |
---|---|---|---|---|---|
§ GL Internal primitive assembly state variables (inaccessible) |
|||||
— | V | — | — | Previous vertex in a line segment | — |
— | B | — | — | Indicates if {\em line-vertex} is the first | — |
— | V | — | — | First vertex of a line loop | — |
— | 2 × V | — | — | Previous two vertices in a triangle strip | — |
— | Z3 | — | — | Number of vertices so far in triangle strip: 0, 1, or more | — |
— | Z2 | — | — | Triangle strip A/B vertex pointer | — |
§ Current Values and Associated Data |
|||||
CURRENT_COLOR |
C | GetFloatv |
1,1,1,1 | Current color | current |
CURRENT_TEXTURE_COORDS |
MAX_TEXTURE_UNITS × T |
GetFloatv |
0,0,0,1 | Current texture coordinates | current |
CURRENT_NORMAL |
N | GetFloatv |
0,0,1 | Current normal | current |
— | C | — | — | Color associated with last vertex | — |
— | T | — | — | Texture coordinates associated with last vertex | — |
§ Vertex Array Data |
|||||
CLIENT_ACTIVE_TEXTURE |
ZMAX_TEXTURE_UNITS |
GetIntegerv |
\glc{TEXTURE0} | Client active texture unit selector | vertex-array |
VERTEX_ARRAY |
B | IsEnabled |
\em False | Vertex array enable | vertex-array |
VERTEX_ARRAY_SIZE |
Z+ | GetIntegerv |
4 | Coordinates per vertex | vertex-array |
VERTEX_ARRAY_TYPE |
Z4 | GetIntegerv |
\glc{FLOAT} | Type of vertex coordinates | vertex-array |
VERTEX_ARRAY_STRIDE |
Z+ | GetIntegerv |
0 | Stride between vertices | vertex-array |
VERTEX_ARRAY_POINTER |
Y | GetPointerv |
0 | Pointer to the vertex array | vertex-array |
NORMAL_ARRAY |
B | IsEnabled |
\em False | Normal array enable | vertex-array |
NORMAL_ARRAY_TYPE |
Z5 | GetIntegerv |
\glc{FLOAT} | Type of normal coordinates | vertex-array |
NORMAL_ARRAY_STRIDE |
Z+ | GetIntegerv |
0 | Stride between normals | vertex-array |
NORMAL_ARRAY_POINTER |
Y | GetPointerv |
0 | Pointer to the normal array | vertex-array |
COLOR_ARRAY |
B | IsEnabled |
\em False | Color array enable | vertex-array |
COLOR_ARRAY_SIZE |
Z+ | GetIntegerv |
4 | Color components per vertex | vertex-array |
COLOR_ARRAY_TYPE |
Z8 | GetIntegerv |
\glc{FLOAT} | Type of color components | vertex-array |
COLOR_ARRAY_STRIDE |
Z+ | GetIntegerv |
0 | Stride between colors | vertex-array |
COLOR_ARRAY_POINTER |
Y | GetPointerv |
0 | Pointer to the color array | vertex-array |
§ Vertex Array Data (cont.) |
|||||
TEXTURE_COORD_ARRAY |
MAX_TEXTURE_UNITS × B |
IsEnabled |
\em False | Texture coordinate array enable | vertex-array |
TEXTURE_COORD_ARRAY_SIZE |
MAX_TEXTURE_UNITS × Z+ |
GetIntegerv |
4 | Coordinates per element | vertex-array |
TEXTURE_COORD_ARRAY_TYPE |
MAX_TEXTURE_UNITS × Z4 |
GetIntegerv |
\glc{FLOAT} | Type of texture coordinates | vertex-array |
TEXTURE_COORD_ARRAY_STRIDE |
MAX_TEXTURE_UNITS × Z+ |
GetIntegerv |
0 | Stride between texture coordinates | vertex-array |
TEXTURE_COORD_ARRAY_POINTER |
MAX_TEXTURE_UNITS × Y |
GetPointerv |
0 | Pointer to the texture coordinate array | vertex-array |
POINT_SIZE_ARRAY_OES |
B | IsEnabled |
\em False | Point size array enable | vertex-array |
POINT_SIZE_ARRAY_TYPE_OES |
Z2 | GetIntegerv |
\glc{FLOAT} | Type of point sizes | vertex-array |
POINT_SIZE_ARRAY_STRIDE_OES |
Z+ | GetIntegerv |
0 | Stride between point sizes | vertex-array |
POINT_SIZE_ARRAY_POINTER_OES |
Y | GetPointerv |
0 | Pointer to the point size array | vertex-array |
ARRAY_BUFFER_BINDING |
Z+ | GetIntegerv |
0 | current buffer binding | vertex-array |
VERTEX_ARRAY_BUFFER_BINDING |
Z+ | GetIntegerv |
0 | vertex array buffer binding | vertex-array |
NORMAL_ARRAY_BUFFER_BINDING |
Z+ | GetIntegerv |
0 | normal array buffer binding | vertex-array |
COLOR_ARRAY_BUFFER_BINDING |
Z+ | GetIntegerv |
0 | color array buffer binding | vertex-array |
TEXTURE_COORD_ARRAY_BUFFER_BINDING |
MAX_TEXTURE_UNITS × Z+ |
GetIntegerv |
0 | texcoord array buffer binding | vertex-array |
POINT_SIZE_ARRAY_BUFFER_BINDING_OES |
Z+ | GetIntegerv |
0 | point size array buffer binding | vertex-array |
ELEMENT_ARRAY_BUFFER_BINDING |
Z+ | GetIntegerv |
0 | element array buffer binding | vertex-array |
§ Buffer Object State |
|||||
|
n × BMU |
— | — | buffer data | — |
BUFFER_SIZE |
n × Z+ |
GetBufferParameteriv |
0 | buffer data size | — |
BUFFER_USAGE |
$n \times Z^9$ | GetBufferParameteriv |
STATIC_DRAW | buffer usage pattern | — |
§ Transformation state |
|||||
MODELVIEW_MATRIX |
16* × M4 | GetFloatv |
Identity | Model-view matrix stack | — |
PROJECTION_MATRIX |
2* × M4 | GetFloatv |
Identity | Projection matrix stack | — |
TEXTURE_MATRIX |
MAX_TEXTURE_UNITS × 2* × M4 |
GetFloatv |
Identity | Texture matrix stack | — |
MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES |
4 × 4 × Z | GetIntegerv |
Identity | Alias of \glc{MODELVIEW_MATRIX} in integer encoding | — |
PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES |
4 × 4 × Z | GetIntegerv |
Identity | Alias of \glc{PROJECTION_MATRIX} in integer encoding | — |
TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES |
4 × 4 × Z | GetIntegerv |
Identity | Alias of \glc{TEXTURE_MATRIX} in integer encoding | — |
VIEWPORT |
4 × Z | GetIntegerv |
see~\ref{view:port} | Viewport origin \& extent | viewport |
DEPTH_RANGE |
2 × R+ | GetFloatv |
0,1 | Depth range near \& far | viewport |
MODELVIEW_STACK_DEPTH |
Z+ | GetIntegerv |
1 | Model-view matrix stack pointer | — |
PROJECTION_STACK_DEPTH |
Z+ | GetIntegerv |
1 | Projection matrix stack pointer | — |
TEXTURE_STACK_DEPTH |
MAX_TEXTURE_UNITS × Z+ |
GetIntegerv |
1 | Texture matrix stack pointer | — |
MATRIX_MODE |
Z4 | GetIntegerv |
\tt MODELVIEW | Current matrix mode | transform |
NORMALIZE |
B | IsEnabled |
\em False | Current normal normalization on/off | transform/enable |
RESCALE_NORMAL |
B | IsEnabled |
\em False | Current normal rescaling on/off | transform/enable |
CLIP_PLANE0 …CLIP_PLANE0 + (n-1)where n ≥ 1 |
n × R4 | GetClipPlane |
0,0,0,0 | User clipping plane coefficients | transform |
CLIP_PLANE0 …CLIP_PLANE0 + (n-1)where n ≥ 1 |
n × B | IsEnabled |
\em False | $i$th user clipping plane enabled | transform/enable |
§ Coloring |
|||||
FOG_COLOR |
C | GetFloatv |
0,0,0,0 | Fog color | fog |
FOG_DENSITY |
R | GetFloatv |
1.0 | Exponential fog density | fog |
FOG_START |
R | GetFloatv |
0.0 | Linear fog start | fog |
FOG_END |
R | GetFloatv |
1.0 | Linear fog end | fog |
FOG_MODE |
Z3 | GetIntegerv |
\glc{EXP} | Fog mode | fog |
FOG |
B | IsEnabled |
\em False | True if fog enabled | fog/enable |
SHADE_MODEL |
Z+ | GetIntegerv |
\glc{SMOOTH} | {\bf ShadeModel} setting | lighting |
§ Lighting(see also Table~\ref{light:tab1} for defaults) |
|||||
LIGHTING |
B | IsEnabled |
\em False | True if lighting is enabled | lighting/enable |
COLOR_MATERIAL |
B | IsEnabled |
\em False | True if color tracking is enabled | lighting/enable |
AMBIENT |
2 × C | GetMaterialfv |
(0.2,0.2,0.2,1.0) | Ambient material color | lighting |
DIFFUSE |
2 × C | GetMaterialfv |
(0.8,0.8,0.8,1.0) | Diffuse material color | lighting |
SPECULAR |
2 × C | GetMaterialfv |
(0.0,0.0,0.0,1.0) | Specular material color | lighting |
EMISSION |
2 × C | GetMaterialfv |
(0.0,0.0,0.0,1.0) | Emissive mat. color | lighting |
SHININESS |
2 × R | GetMaterialfv |
0.0 | Specular exponent of material | lighting |
LIGHT_MODEL_AMBIENT |
C | GetFloatv |
(0.2,0.2,0.2,1.0) | Ambient scene color | lighting |
LIGHT_MODEL_TWO_SIDE |
B | GetBooleanv |
\em False | Use two-sided lighting | lighting |
§ Lighting (cont.) |
|||||
AMBIENT |
8* × C | GetLightfv |
(0.0,0.0,0.0,1.0) | Ambient intensity of light $i$ | lighting |
DIFFUSE |
8* × C | GetLightfv |
see 2.5 | Diffuse intensity of light $i$ | lighting |
SPECULAR |
8* × C | GetLightfv |
see 2.5 | Specular intensity of light $i$ | lighting |
POSITION |
8* × P | GetLightfv |
(0.0,0.0,1.0,0.0) | Position of light $i$ | lighting |
CONSTANT_ATTENUATION |
8* × R+ | GetLightfv |
1.0 | Constant atten. factor | lighting |
LINEAR_ATTENUATION |
8* × R+ | GetLightfv |
0.0 | Linear atten. factor | lighting |
QUADRATIC_ATTENUATION |
8* × R+ | GetLightfv |
0.0 | Quadratic atten. factor | lighting |
SPOT_DIRECTION |
8* × D | GetLightfv |
(0.0,0.0,-1.0) | Spotlight direction of light $i$ | lighting |
SPOT_EXPONENT |
8* × R+ | GetLightfv |
0.0 | Spotlight exponent of light $i$ | lighting |
SPOT_CUTOFF |
8* × R+ | GetLightfv |
180.0 | Spot. angle of light $i$ | lighting |
LIGHT0 …LIGHT0 + (n-1)where n ≥ 8 |
n × B | IsEnabled |
\em False | True if light $i$ enabled | lighting/enable |
§ Rasterization
|
|||||
POINT_SIZE |
R+ | GetFloatv |
1.0 | Point size | point |
POINT_SMOOTH |
B | IsEnabled |
\em False | Point antialiasing on | point/enable |
POINT_SIZE_MIN |
R+ | GetFloatv |
0.0 | Attenuated minimum point size | point |
POINT_SIZE_MAX |
R+ | GetFloatv |
† | Attenuated maximum point size. | point |
POINT_FADE_THRESHOLD_SIZE |
R+ | GetFloatv |
1.0 | Threshold for alpha attenuation | point |
POINT_DISTANCE_ATTENUATION |
3 × R+ | GetFloatv |
1,0,0 | Attenuation coefficients | point |
POINT_SPRITE_OES |
B | IsEnabled |
\em False | Point sprites enabled | point |
LINE_WIDTH |
R+ | GetFloatv |
1.0 | Line width | line |
LINE_SMOOTH |
B | IsEnabled |
\em False | Line antialiasing on | line/enable |
CULL_FACE |
B | IsEnabled |
\em False | Polygon culling enabled | polygon/enable |
CULL_FACE_MODE |
Z3 | GetIntegerv |
\glc{BACK} | Cull front/back facing polygons | polygon |
FRONT_FACE |
Z2 | GetIntegerv |
\glc{CCW} | Polygon frontface CW/CCW indicator | polygon |
POLYGON_OFFSET_FACTOR |
R | GetFloatv |
0 | Polygon offset factor | polygon |
POLYGON_OFFSET_UNITS |
R | GetFloatv |
0 | Polygon offset units | polygon |
POLYGON_OFFSET_FILL |
B | IsEnabled |
\em False | Polygon offset enable | polygon/enable |
§ Multisampling |
|||||
MULTISAMPLE |
B | IsEnabled |
\em True | Multisample rasterization | multisample/enable |
SAMPLE_ALPHA_TO_COVERAGE |
B | IsEnabled |
\em False | Modify coverage from alpha | multisample/enable |
SAMPLE_ALPHA_TO_ONE |
B | IsEnabled |
\em False | Set alpha to maximum | multisample/enable |
SAMPLE_COVERAGE |
B | IsEnabled |
\em False | Mask to modify coverage | multisample/enable |
SAMPLE_COVERAGE_VALUE |
R+ | GetFloatv |
1 | Coverage mask value | multisample |
SAMPLE_COVERAGE_INVERT |
B | GetBooleanv |
\em False | Invert coverage mask value | multisample |
§ Textures (state per texture unit and binding point) |
|||||
TEXTURE_2D |
MAX_TEXTURE_UNITS × B |
IsEnabled |
\em False | True if 2D texturing is enabled | texture/enable |
TEXTURE_BINDING_2D |
MAX_TEXTURE_UNITS × Z+ |
GetIntegerv |
0 | Texture object bound to \glc{TEXTURE_2D} | texture |
TEXTURE_2D |
n × I |
— | see \ref{texturing} | 2D texture image at l.o.d. $i$ | — |
§ Textures (state per texture object) |
|||||
TEXTURE_MIN_FILTER |
n × Z6 |
GetTexParameter |
see \ref{texturing} | Texture minification function | texture |
TEXTURE_MAG_FILTER |
n × Z2 |
GetTexParameter |
see \ref{texturing} | Texture magnification function | texture |
TEXTURE_WRAP_S |
n × Z2 |
GetTexParameter |
\glc{REPEAT} | Texcoord $s$ wrap mode | texture |
TEXTURE_WRAP_T |
n × Z2 |
GetTexParameter |
\glc{REPEAT} | Texcoord $t$ wrap mode | texture |
GENERATE_MIPMAP |
n × B |
GetTexParameter |
\glc{FALSE} | Automatic mipmap generation | texture |
§ Texture Environment and Generation |
|||||
ACTIVE_TEXTURE |
ZMAX_TEXTURE_UNITS |
GetIntegerv |
\glc{TEXTURE0} | Active texture unit selector | texture |
TEXTURE_ENV_MODE |
MAX_TEXTURE_UNITS × Z6 |
GetTexEnviv |
\glc{MODULATE} | Texture application function | texture |
TEXTURE_ENV_COLOR |
MAX_TEXTURE_UNITS × C |
GetTexEnvfv |
0,0,0,0 | Texture environment color | texture |
COORD_REPLACE_OES |
MAX_TEXTURE_UNITS × B |
GetTexEnviv |
\em False | Point coordinate replacement enabled | texture |
COMBINE_RGB |
MAX_TEXTURE_UNITS × Z8 |
GetTexEnviv |
\glc{MODULATE} | RGB combiner function | texture |
COMBINE_ALPHA |
MAX_TEXTURE_UNITS × Z6 |
GetTexEnviv |
\glc{MODULATE} | Alpha combiner function | texture |
SRC0_RGB |
MAX_TEXTURE_UNITS × Z3 |
GetTexEnviv |
\glc{TEXTURE} | RGB source 0 | texture |
SRC1_RGB |
MAX_TEXTURE_UNITS × Z3 |
GetTexEnviv |
\glc{PREVIOUS} | RGB source 1 | texture |
SRC2_RGB |
MAX_TEXTURE_UNITS × Z3 |
GetTexEnviv |
\glc{CONSTANT} | RGB source 2 | texture |
SRC0_ALPHA |
MAX_TEXTURE_UNITS × Z3 |
GetTexEnviv |
\glc{TEXTURE} | Alpha source 0 | texture |
SRC1_ALPHA |
MAX_TEXTURE_UNITS × Z3 |
GetTexEnviv |
\glc{PREVIOUS} | Alpha source 1 | texture |
SRC2_ALPHA |
MAX_TEXTURE_UNITS × Z3 |
GetTexEnviv |
\glc{CONSTANT} | Alpha source 2 | texture |
OPERAND0_RGB |
MAX_TEXTURE_UNITS × Z4 |
GetTexEnviv |
\glc{SRC_COLOR} | RGB operand 0 | texture |
OPERAND1_RGB |
MAX_TEXTURE_UNITS × Z4 |
GetTexEnviv |
\glc{SRC_COLOR} | RGB operand 1 | texture |
OPERAND2_RGB |
MAX_TEXTURE_UNITS × Z4 |
GetTexEnviv |
\glc{SRC_ALPHA} | RGB operand 2 | texture |
OPERAND0_ALPHA |
MAX_TEXTURE_UNITS × Z2 |
GetTexEnviv |
\glc{SRC_ALPHA} | Alpha operand 0 | texture |
OPERAND1_ALPHA |
MAX_TEXTURE_UNITS × Z2 |
GetTexEnviv |
\glc{SRC_ALPHA} | Alpha operand 1 | texture |
OPERAND2_ALPHA |
MAX_TEXTURE_UNITS × Z2 |
GetTexEnviv |
\glc{SRC_ALPHA} | Alpha operand 2 | texture |
RGB_SCALE |
MAX_TEXTURE_UNITS × R3 |
GetTexEnvfv |
1.0 | RGB post-combiner scaling | texture |
ALPHA_SCALE |
MAX_TEXTURE_UNITS × R3 |
GetTexEnvfv |
1.0 | Alpha post-combiner scaling | texture |
§ Pixel Operations |
|||||
SCISSOR_TEST |
B | IsEnabled |
\em False | Scissoring enabled | scissor/enable |
SCISSOR_BOX |
4 × Z | GetIntegerv |
see~\ref{scissor} | Scissor box | scissor |
ALPHA_TEST |
B | IsEnabled |
\em False | Alpha test enabled | color-buffer/enable |
ALPHA_TEST_FUNC |
Z8 | GetIntegerv |
\glc{ALWAYS} | Alpha test function | color-buffer |
ALPHA_TEST_REF |
R+ | GetIntegerv |
0 | Alpha test reference value | color-buffer |
STENCIL_TEST |
B | IsEnabled |
\em False | Stenciling enabled | stencil-buffer/enable |
STENCIL_FUNC |
Z8 | GetIntegerv |
\glc{ALWAYS} | Stencil function | stencil-buffer |
STENCIL_VALUE_MASK |
Z+ | GetIntegerv |
1's | Stencil mask | stencil-buffer |
STENCIL_REF |
Z+ | GetIntegerv |
0 | Stencil reference value | stencil-buffer |
STENCIL_FAIL |
Z6 | GetIntegerv |
\glc{KEEP} | Stencil fail action | stencil-buffer |
STENCIL_PASS_DEPTH_FAIL |
Z6 | GetIntegerv |
\glc{KEEP} | Stencil depth buffer fail action | stencil-buffer |
STENCIL_PASS_DEPTH_PASS |
Z6 | GetIntegerv |
\glc{KEEP} | Stencil depth buffer pass action | stencil-buffer |
DEPTH_TEST |
B | IsEnabled |
\em False | Depth buffer enabled | depth-buffer/enable |
DEPTH_FUNC |
Z8 | GetIntegerv |
\glc{LESS} | Depth buffer test function | depth-buffer |
BLEND |
B | IsEnabled |
\em False | Blending enabled | color-buffer/enable |
BLEND_SRC |
Z9 | GetIntegerv |
\glc{ONE} | Blending source function | color-buffer |
BLEND_DST |
Z8 | GetIntegerv |
\glc{ZERO} | Blending dest. function | color-buffer |
DITHER |
B | IsEnabled |
\em True | Dithering enabled | color-buffer/enable |
COLOR_LOGIC_OP |
B | IsEnabled |
\em False | Color logic op enabled | color-buffer/enable |
LOGIC_OP_MODE |
Z16 | GetIntegerv |
\glc{COPY} | Logic op function | color-buffer |
§ Framebuffer Control |
|||||
COLOR_WRITEMASK |
4 × B | GetBooleanv |
{\em True} | Color write enables; R, G, B, or A | color-buffer |
DEPTH_WRITEMASK |
B | GetBooleanv |
{\em True} | Depth buffer enabled for writing | depth-buffer |
STENCIL_WRITEMASK |
Z+ | GetIntegerv |
1's | Stencil buffer writemask | stencil-buffer |
COLOR_CLEAR_VALUE |
C | GetFloatv |
0,0,0,0 | Color buffer clear value (RGBA mode) | color-buffer |
DEPTH_CLEAR_VALUE |
R+ | GetIntegerv |
1 | Depth buffer clear value | depth-buffer |
STENCIL_CLEAR_VALUE |
Z+ | GetIntegerv |
0 | Stencil clear value | stencil-buffer |
§ Pixels |
|||||
UNPACK_ALIGNMENT |
Z+ | GetIntegerv |
4 | Value of \glc{UNPACK_ALIGNMENT} | pixel-store |
PACK_ALIGNMENT |
Z+ | GetIntegerv |
4 | Value of \glc{PACK_ALIGNMENT} | pixel-store |
§ Hints |
|||||
PERSPECTIVE_CORRECTION_HINT |
Z3 | GetIntegerv |
\glc{DONT_CARE} | Perspective correction hint | hint |
POINT_SMOOTH_HINT |
Z3 | GetIntegerv |
\glc{DONT_CARE} | Point smooth hint | hint |
LINE_SMOOTH_HINT |
Z3 | GetIntegerv |
\glc{DONT_CARE} | Line smooth hint | hint |
FOG_HINT |
Z3 | GetIntegerv |
\glc{DONT_CARE} | Fog hint | hint |
GENERATE_MIPMAP_HINT |
Z3 | GetIntegerv |
\glc{DONT_CARE} | Mipmap generation hint | hint |
§ Implementation Dependent Values |
|||||
MAX_LIGHTS |
Z+ | GetIntegerv |
8 | Maximum number of lights | — |
MAX_CLIP_PLANES |
Z+ | GetIntegerv |
1 | Maximum number of user clipping planes | — |
MAX_MODELVIEW_STACK_DEPTH |
Z+ | GetIntegerv |
16 | Maximum model-view stack depth | — |
MAX_PROJECTION_STACK_DEPTH |
Z+ | GetIntegerv |
2 | Maximum projection matrix stack depth | — |
MAX_TEXTURE_STACK_DEPTH |
Z+ | GetIntegerv |
2 | Maximum number depth of texture matrix stack | — |
SUBPIXEL_BITS |
Z+ | GetIntegerv |
4 | Number of bits of subpixel precision in screen $x_w$ and $y_w$ | — |
MAX_TEXTURE_SIZE |
Z+ | GetIntegerv |
64 | Maximum texture image dimension | — |
MAX_VIEWPORT_DIMS |
2 × Z+ | GetIntegerv |
see \ref{view:port} | Maximum viewport dimensions | — |
§ Implementation Dependent Values (cont.) |
|||||
ALIASED_POINT_SIZE_RANGE |
2 × R+ | GetFloatv |
1,1 | Range (lo to hi) of aliased point sizes | — |
SMOOTH_POINT_SIZE_RANGE (POINT_SIZE_RANGE) |
2 × R+ | GetFloatv |
1,1 | Range (lo to hi) of antialiased point sizes | — |
ALIASED_LINE_WIDTH_RANGE |
2 × R+ | GetFloatv |
1,1 | Range (lo to hi) of aliased line widths | — |
SMOOTH_LINE_WIDTH_RANGE (v1.1:~LINE_WIDTH_RANGE) |
2 × R+ | GetFloatv |
1,1 | Range (lo to hi) of antialiased line widths | — |
§ Implementation Dependent Values (cont.) |
|||||
MAX_TEXTURE_UNITS |
Z+ | GetIntegerv |
2 | Number of texture units (not to exceed 32) | — |
SAMPLE_BUFFERS |
Z+ | GetIntegerv |
0 | Number of multisample buffers | — |
SAMPLES |
Z+ | GetIntegerv |
0 | Coverage mask size | — |
COMPRESSED_TEXTURE_FORMATS |
10 × Z | GetIntegerv |
— | Enumerated compressed texture formats | — |
NUM_COMPRESSED_TEXTURE_FORMATS |
Z | GetIntegerv |
10 | Number of enumerated compressed texture formats | — |
§ Implementation Dependent Pixel Depths |
|||||
RED_BITS |
Z+ | GetIntegerv |
— | Number of bits in RED color buffer component | — |
GREEN_BITS |
Z+ | GetIntegerv |
— | Number of bits in GREEN color buffer component | — |
BLUE_BITS |
Z+ | GetIntegerv |
— | Number of bits in BLUE color buffer component | — |
ALPHA_BITS |
Z+ | GetIntegerv |
— | Number of bits in ALPHA color buffer component | — |
DEPTH_BITS |
Z+ | GetIntegerv |
— | Number of depth buffer planes | — |
STENCIL_BITS |
Z+ | GetIntegerv |
— | Number of stencil planes | — |
§ Miscellaneous |
|||||
— | n × Z8 |
GetError |
0 | Current error code(s) | — |
— | n × B |
— | \em False | True if there is a corresponding error | — |
Get value | Type | Get command | Initial value | Description | Attribute |
---|---|---|---|---|---|
§ Current Values and Associated Data |
|||||
PATCH_VERTICES |
Z+ | GetIntegerv |
3 | No. of vertices in input patch | current |
§ Vertex Array Object State
|
|||||
VERTEX_ATTRIB_ARRAY_ENABLED |
MAX_VERTEX_ATTRIBS × B |
GetVertexAttribiv |
\glc{FALSE} | Vertex attrib array enable | vertex-array |
VERTEX_ATTRIB_ARRAY_SIZE |
MAX_VERTEX_ATTRIBS × Z5 |
GetVertexAttribiv |
4 | Vertex attrib array size | vertex-array |
VERTEX_ATTRIB_ARRAY_STRIDE |
MAX_VERTEX_ATTRIBS × Z+ |
GetVertexAttribiv |
0 | Vertex attrib array stride | vertex-array |
VERTEX_ATTRIB_ARRAY_TYPE |
MAX_VERTEX_ATTRIBS × E |
GetVertexAttribiv |
\glc{FLOAT} | Vertex attrib array type | vertex-array |
VERTEX_ATTRIB_ARRAY_NORMALIZED |
MAX_VERTEX_ATTRIBS × B |
GetVertexAttribiv |
\glc{FALSE} | Vertex attrib array normalized | vertex-array |
VERTEX_ATTRIB_ARRAY_INTEGER |
MAX_VERTEX_ATTRIBS × B |
GetVertexAttribiv |
\glc{FALSE} | Vertex attrib array has unconverted integers | vertex-array |
VERTEX_ATTRIB_ARRAY_DIVISOR |
MAX_VERTEX_ATTRIBS × Z+ |
GetVertexAttribiv |
0 | Vertex attrib array instance divisor | vertex-array |
VERTEX_ATTRIB_ARRAY_POINTER |
MAX_VERTEX_ATTRIBS × Y |
GetVertexAttribPointerv |
\glc{NULL} | Vertex attrib array pointer | vertex-array |
ELEMENT_ARRAY_BUFFER_BINDING |
Z+ | GetIntegerv |
0 | Element array buffer binding | vertex-array |
VERTEX_ATTRIB_ARRAY_BUFFER_BINDING |
MAX_VERTEX_ATTRIBS × Z+ |
GetVertexAttribiv |
0 | Attribute array buffer binding | vertex-array |
VERTEX_ATTRIB_BINDING |
16 × Z16* | GetVertexAttribiv |
$i$† | Vertex buffer binding used by vertex attrib $i$ | — |
VERTEX_ATTRIB_RELATIVE_OFFSET |
16 × Z+ | GetVertexAttribiv |
0 | Byte offset added to vertex binding offset for this attribute | — |
VERTEX_BINDING_OFFSET |
16 × Z | GetInteger64i_v |
0 | Byte offset of the first element in data store of the buffer bound to vertex binding $i$ | — |
VERTEX_BINDING_STRIDE |
16 × Z | GetIntegeri_v |
16 | Stride between elements in vertex binding $i$ | — |
VERTEX_BINDING_DIVISOR |
16 × Z+ | GetIntegeri_v |
0 | Instance divisor used for vertex binding $i$ | — |
VERTEX_BINDING_BUFFER |
16 × Z+ | GetIntegeri_v |
0 | Name of buffer bound to vertex binding $i$ | — |
— | S | GetObjectLabel |
empty | Debug label | — |
§ Vertex Array Data (not in vertex array objects) |
|||||
ARRAY_BUFFER_BINDING |
Z+ | GetIntegerv |
0 | Current buffer binding | vertex-array |
DRAW_INDIRECT_BUFFER_BINDING |
Z+ | GetIntegerv |
0 | Indirect command buffer binding | — |
VERTEX_ARRAY_BINDING |
Z+ | GetIntegerv |
0 | Current vertex array object binding | vertex-array |
PRIMITIVE_RESTART_FIXED_INDEX |
B | IsEnabled |
\glc{FALSE} | Primitive restart with fixed index enable | vertex-array |
§ Buffer Object State
|
|||||
BUFFER_SIZE |
n × Z+ |
GetBufferParameteri64v |
0 | Buffer data size† | — |
BUFFER_USAGE |
n × E |
GetBufferParameteriv |
\glc{STATIC_DRAW} | Buffer usage pattern | — |
BUFFER_ACCESS_FLAGS |
n × Z+ |
GetBufferParameteriv |
0 | Extended buffer access flag | — |
BUFFER_MAPPED |
n × B |
GetBufferParameteriv |
\glc{FALSE} | Buffer map flag | — |
BUFFER_MAP_POINTER |
n × Y |
GetBufferPointerv |
\glc{NULL} | Mapped buffer pointer | — |
BUFFER_MAP_OFFSET |
n × Z+ |
GetBufferParameteri64v |
0 | Start of mapped buffer range | — |
BUFFER_MAP_LENGTH |
n × Z+ |
GetBufferParameteri64v |
0 | Size of mapped buffer range | — |
— | S | GetObjectLabel |
empty | Debug label | — |
§ Transformation State |
|||||
VIEWPORT |
4 × Z | GetIntegerv |
see~\ref{view:port} | Viewport origin \& extent | viewport |
DEPTH_RANGE |
2 × R+ | GetFloatv |
0,1 | Depth range near \& far | viewport |
TRANSFORM_FEEDBACK_BINDING |
Z+ | GetIntegerv |
0 | Object bound for transform feedback operations | — |
TRANSFORM_FEEDBACK_BUFFER_BINDING |
Z+ | GetIntegerv |
0 | Buffer object bound to generic bind point for transform feedback | — |
PRIMITIVE_BOUNDING_BOX |
8 × R | GetFloatv |
$(-1,-1,-1, 1, 1, 1, 1, 1)$ | Default primitive bounding box | — |
§ Rasterization |
|||||
RASTERIZER_DISCARD |
B | IsEnabled |
\glc{FALSE} | Discard primitives before rasterization | — |
LINE_WIDTH |
R+ | GetFloatv |
1.0 | Line width | line |
CULL_FACE |
B | IsEnabled |
\glc{FALSE} | Polygon culling enabled | polygon/enable |
CULL_FACE_MODE |
E | GetIntegerv |
\glc{BACK} | Cull front-/back-facing polygons | polygon |
FRONT_FACE |
E | GetIntegerv |
\glc{CCW} | Polygon frontface CW/CCW indicator | polygon |
POLYGON_OFFSET_FACTOR |
R | GetFloatv |
0 | Polygon offset factor | polygon |
POLYGON_OFFSET_UNITS |
R | GetFloatv |
0 | Polygon offset units | polygon |
POLYGON_OFFSET_FILL |
B | IsEnabled |
\glc{FALSE} | Polygon offset enable | polygon/enable |
§ Multisampling
|
|||||
SAMPLE_ALPHA_TO_COVERAGE |
B | IsEnabled |
\glc{FALSE} | Modify coverage from alpha | multisample/enable |
SAMPLE_COVERAGE |
B | IsEnabled |
\glc{FALSE} | Mask to modify coverage | multisample/enable |
SAMPLE_COVERAGE_VALUE |
R+ | GetFloatv |
1 | Coverage mask value | multisample |
SAMPLE_COVERAGE_INVERT |
B | GetBooleanv |
\glc{FALSE} | Invert coverage mask value | multisample |
SAMPLE_SHADING |
B | IsEnabled |
\glc{FALSE} | Sample shading enable | multisample/enable |
MIN_SAMPLE_SHADING_VALUE |
R+ | GetFloatv |
0 | Fraction of multisamples to use for sample shading | multisample |
SAMPLE_MASK |
B | IsEnabled |
\glc{FALSE} | Additional sample mask | — |
SAMPLE_MASK_VALUE |
n × Z+† |
GetIntegeri_v |
All bits of all words set | Additional sample mask value | — |
§ Textures (selector, state per texture unit) |
|||||
ACTIVE_TEXTURE |
E | GetIntegerv |
\glc{TEXTURE0} | Active texture unit selector | texture |
TEXTURE_BINDING_2D |
MAX_COMBINED_TEXTURE_IMAGE_UNITS × Z+ |
GetIntegerv |
0 | Texture object bound to \glc{TEXTURE_2D} | texture |
TEXTURE_BINDING_3D |
MAX_COMBINED_TEXTURE_IMAGE_UNITS × Z+ |
GetIntegerv |
0 | Texture object bound to \glc{TEXTURE_3D} | texture |
TEXTURE_BINDING_2D_ARRAY |
MAX_COMBINED_TEXTURE_IMAGE_UNITS × Z+ |
GetIntegerv |
0 | Texture object bound to \glc{TEXTURE_2D_ARRAY} | texture |
TEXTURE_BINDING_BUFFER |
MAX_COMBINED_TEXTURE_IMAGE_UNITS × Z+ |
GetIntegerv |
0 | Texture object bound to \glc{TEXTURE_BUFFER} | texture |
TEXTURE_BINDING_CUBE_MAP |
MAX_COMBINED_TEXTURE_IMAGE_UNITS × Z+ |
GetIntegerv |
0 | Texture object bound to \glc{TEXTURE_CUBE_MAP} | texture |
TEXTURE_BINDING_CUBE_MAP_ARRAY |
MAX_COMBINED_TEXTURE_IMAGE_UNITS × Z+ |
GetIntegerv |
0 | Texture object bound to \glc{TEXTURE_CUBE_MAP_ARRAY} | texture |
TEXTURE_BINDING_2D_MULTISAMPLE |
MAX_COMBINED_TEXTURE_IMAGE_UNITS × Z+ |
GetIntegerv |
0 | Texture object bound to \glc{TEXTURE_2D_MULTISAMPLE} | — |
TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY |
MAX_COMBINED_TEXTURE_IMAGE_UNITS × Z+ |
GetIntegerv |
0 | Texture object bound to \glc{TEXTURE_2D_MULTISAMPLE_ARRAY} | — |
SAMPLER_BINDING |
MAX_COMBINED_TEXTURE_IMAGE_UNITS × Z+ |
GetIntegerv |
0 | Sampler object bound to active texture unit | — |
§ Textures (state per texture object) |
|||||
TEXTURE_SWIZZLE_R |
E | GetTexParameter |
\glc{RED} | Red component swizzle | texture |
TEXTURE_SWIZZLE_G |
E | GetTexParameter |
\glc{GREEN} | Green component swizzle | texture |
TEXTURE_SWIZZLE_B |
E | GetTexParameter |
\glc{BLUE} | Blue component swizzle | texture |
TEXTURE_SWIZZLE_A |
E | GetTexParameter |
\glc{ALPHA} | Alpha component swizzle | texture |
TEXTURE_BORDER_COLOR |
C | GetTexParameterfv |
0.0,0.0,0.0,0.0 | Border color | texture |
TEXTURE_MIN_FILTER |
E | GetTexParameter |
see sec.~\ref{tex:state} | Minification function | texture |
TEXTURE_MAG_FILTER |
E | GetTexParameter |
\glc{LINEAR} | Magnification function | texture |
TEXTURE_WRAP_S |
E | GetTexParameter |
see sec.~\ref{tex:state} | Texcoord $s$ wrap mode | texture |
TEXTURE_WRAP_T |
E | GetTexParameter |
see sec.~\ref{tex:state} | Texcoord $t$ wrap mode (2D, 3D, cube map textures only) | texture |
TEXTURE_WRAP_R |
E | GetTexParameter |
see sec.~\ref{tex:state} | Texcoord $r$ wrap mode (3D textures only) | texture |
TEXTURE_MIN_LOD |
R | GetTexParameterfv |
-1000 | Min. level of detail | texture |
TEXTURE_MAX_LOD |
R | GetTexParameterfv |
1000 | Max. level of detail | texture |
TEXTURE_BASE_LEVEL |
Z+ | GetTexParameterfv |
0 | Base texture array | texture |
TEXTURE_MAX_LEVEL |
Z+ | GetTexParameterfv |
1000 | Max. texture array level | texture |
DEPTH_STENCIL_TEXTURE_MODE |
E | GetTexParameteriv |
\glc{DEPTH_COMPONENT} | Depth stencil texturemode | — |
TEXTURE_COMPARE_MODE |
E | GetTexParameteriv |
\glc{NONE} | Comparison mode | texture |
TEXTURE_COMPARE_FUNC |
E | GetTexParameteriv |
\glc{LEQUAL} | Comparison function | texture |
TEXTURE_IMMUTABLE_FORMAT |
B | GetTexParameter |
\glc{FALSE} | Size and format immutable | texture |
TEXTURE_IMMUTABLE_LEVELS |
Z+ | GetTexParameter |
0 | No. of levels in immutable textures | texture |
— | S | GetObjectLabel |
empty | Debug label | — |
§ Textures (state per texture image) |
|||||
TEXTURE_WIDTH |
Z+ | GetTexLevelParameter |
0 | Specified width | — |
TEXTURE_HEIGHT |
Z+ | GetTexLevelParameter |
0 | Specified height (2D/3D) | — |
TEXTURE_DEPTH |
Z+ | GetTexLevelParameter |
0 | Specified depth (3D) | — |
TEXTURE_SAMPLES |
Z+ | GetTexLevelParameter |
0 | No. of samples per texel | — |
TEXTURE_FIXED_SAMPLE_LOCATIONS |
B | GetTexLevelParameter |
\glc{TRUE} | Whether the image uses a fixed sample pattern | — |
TEXTURE_INTERNAL_FORMAT |
E | GetTexLevelParameteriv |
\glc{RGBA} or \glc{R8} | Internal format (see section~\ref{tex:state}) | — |
TEXTURE_RED_SIZE |
Z+ | GetTexLevelParameter |
0 | Component resolution | — |
TEXTURE_GREEN_SIZE |
Z+ | GetTexLevelParameter |
0 | Component resolution | — |
TEXTURE_BLUE_SIZE |
Z+ | GetTexLevelParameter |
0 | Component resolution | — |
TEXTURE_ALPHA_SIZE |
Z+ | GetTexLevelParameter |
0 | Component resolution | — |
TEXTURE_DEPTH_SIZE |
Z+ | GetTexLevelParameter |
0 | Component resolution | — |
TEXTURE_STENCIL_SIZE |
Z+ | GetTexLevelParameter |
0 | Component resolution | — |
TEXTURE_SHARED_SIZE |
Z+ | GetTexLevelParameter |
0 | Shared exponent field resolution | — |
TEXTURE_RED_TYPE |
E | GetTexLevelParameter |
\glc{NONE} | Component type | — |
TEXTURE_GREEN_TYPE |
E | GetTexLevelParameter |
\glc{NONE} | Component type | — |
TEXTURE_BLUE_TYPE |
E | GetTexLevelParameter |
\glc{NONE} | Component type | — |
TEXTURE_ALPHA_TYPE |
E | GetTexLevelParameter |
\glc{NONE} | Component type | — |
TEXTURE_DEPTH_TYPE |
E | GetTexLevelParameter |
\glc{NONE} | Component type | — |
TEXTURE_COMPRESSED |
B | GetTexLevelParameter |
\glc{FALSE} | True if image has a compressed internal format | — |
TEXTURE_BUFFER_DATA_STORE_BINDING |
Z+ | GetTexLevelParameteriv |
0 | Buffer object bound as the data store for the active image unit's buffer texture | texture |
TEXTURE_BUFFER_OFFSET |
n × Z |
GetTexLevelParameteriv |
0 | Offset into buffer's data store used for the active image unit's buffer texture | — |
TEXTURE_BUFFER_SIZE |
n × Z |
GetTexLevelParameteriv |
0 | Size of the buffer's data store used for the active image unit's buffer texture | — |
§ Textures (state per sampler object) |
|||||
TEXTURE_BORDER_COLOR |
C | GetSamplerParameterfv |
0.0,0.0,0.0,0.0 | Border color | — |
TEXTURE_MIN_FILTER |
E | GetSamplerParameter |
\glc{NEAREST_MIPMAP_LINEAR} | Minification function | texture |
TEXTURE_MAG_FILTER |
E | GetSamplerParameter |
\glc{LINEAR} | Magnification function | texture |
TEXTURE_WRAP_S |
E | GetSamplerParameter |
\glc{REPEAT} | Texcoord $s$ wrap mode | texture |
TEXTURE_WRAP_T |
E | GetSamplerParameter |
\glc{REPEAT} | Texcoord $t$ wrap mode (2D, 3D, cube map textures only) | texture |
TEXTURE_WRAP_R |
E | GetSamplerParameter |
\glc{REPEAT} | Texcoord $r$ wrap mode (3D textures only) | texture |
TEXTURE_MIN_LOD |
R | GetSamplerParameterfv |
-1000 | Min. level of detail | texture |
TEXTURE_MAX_LOD |
R | GetSamplerParameterfv |
1000 | Max. level of detail | texture |
TEXTURE_COMPARE_MODE |
E | GetSamplerParameteriv |
\glc{NONE} | Comparison mode | texture |
TEXTURE_COMPARE_FUNC |
E | GetSamplerParameteriv |
\glc{LEQUAL} | Comparison function | texture |
— | S | GetObjectLabel |
empty | Debug label | — |
§ Pixel Operations |
|||||
SCISSOR_TEST |
B | IsEnabled |
\glc{FALSE} | Scissoring enabled | scissor/enable |
SCISSOR_BOX |
4 × Z | GetIntegerv |
see~\ref{scissor} | Scissor box | scissor |
STENCIL_TEST |
B | IsEnabled |
\glc{FALSE} | Stenciling enabled | stencil-buffer/enable |
STENCIL_FUNC |
E | GetIntegerv |
\glc{ALWAYS} | Front stencil function | stencil-buffer |
STENCIL_VALUE_MASK |
Z+ | GetIntegerv |
see~\ref{stencil} | Front stencil mask | stencil-buffer |
STENCIL_REF |
Z+ | GetIntegerv |
0 | Front stencil reference value | stencil-buffer |
STENCIL_FAIL |
E | GetIntegerv |
\glc{KEEP} | Front stencil fail action | stencil-buffer |
STENCIL_PASS_DEPTH_FAIL |
E | GetIntegerv |
\glc{KEEP} | Front stencil depth buffer fail action | stencil-buffer |
STENCIL_PASS_DEPTH_PASS |
E | GetIntegerv |
\glc{KEEP} | Front stencil depth buffer pass action | stencil-buffer |
STENCIL_BACK_FUNC |
E | GetIntegerv |
\glc{ALWAYS} | Back stencil function | stencil-buffer |
STENCIL_BACK_VALUE_MASK |
Z+ | GetIntegerv |
see~\ref{stencil} | Back stencil mask | stencil-buffer |
STENCIL_BACK_REF |
Z+ | GetIntegerv |
0 | Back stencil reference value | stencil-buffer |
STENCIL_BACK_FAIL |
E | GetIntegerv |
\glc{KEEP} | Back stencil fail action | stencil-buffer |
STENCIL_BACK_PASS_DEPTH_FAIL |
E | GetIntegerv |
\glc{KEEP} | Back stencil depth buffer fail action | stencil-buffer |
STENCIL_BACK_PASS_DEPTH_PASS |
E | GetIntegerv |
\glc{KEEP} | Back stencil depth buffer pass action | stencil-buffer |
DEPTH_TEST |
B | IsEnabled |
\glc{FALSE} | Depth test enabled | depth-buffer/enable |
DEPTH_FUNC |
E | GetIntegerv |
\glc{LESS} | Depth test function | depth-buffer |
BLEND |
MAX_DRAW_BUFFERS × B |
IsEnabledi |
\glc{FALSE} | Blending enabled {for draw buffer $i$} | color-buffer/enable |
BLEND_SRC_RGB |
MAX_DRAW_BUFFERS × E |
GetIntegeri_v |
\glc{ONE} | Blending source RGB function for draw buffer $i$ | color-buffer |
BLEND_SRC_ALPHA |
MAX_DRAW_BUFFERS × E |
GetIntegeri_v |
\glc{ONE} | Blending source A function for draw buffer $i$ | color-buffer |
BLEND_DST_RGB |
MAX_DRAW_BUFFERS × E |
GetIntegeri_v |
\glc{ZERO} | Blending dest. RGB function for draw buffer $i$ | color-buffer |
BLEND_DST_ALPHA |
MAX_DRAW_BUFFERS × E |
GetIntegeri_v |
\glc{ZERO} | Blending dest. A function for draw buffer $i$ | color-buffer |
BLEND_EQUATION_RGB |
MAX_DRAW_BUFFERS × E |
GetIntegeri_v |
\glc{FUNC_ADD} | RGB blending equation for draw buffer $i$ | color-buffer |
BLEND_EQUATION_ALPHA |
MAX_DRAW_BUFFERS × E |
GetIntegeri_v |
\glc{FUNC_ADD} | Alpha blending equation for draw buffer $i$ | color-buffer |
BLEND_COLOR |
C | GetFloatv |
0.0,0.0,0.0,0.0 | Constant blend color | color-buffer |
DITHER |
B | IsEnabled |
\glc{TRUE} | Dithering enabled | color-buffer/enable |
§ Framebuffer Control |
|||||
COLOR_WRITEMASK |
MAX_DRAW_BUFFERS × 4 × B |
GetBooleani_v |
(\glc{TRUE},\glc{TRUE},\glc{TRUE},\glc{TRUE}) | Color write enables (R,G,B,A) for draw buffer $i$ | color-buffer |
DEPTH_WRITEMASK |
B | GetBooleanv |
\glc{TRUE} | Depth buffer enabled for writing | depth-buffer |
STENCIL_WRITEMASK |
Z+ | GetIntegerv |
1's | Front stencil buffer writemask | stencil-buffer |
STENCIL_BACK_WRITEMASK |
Z+ | GetIntegerv |
1's | Back stencil buffer writemask | stencil-buffer |
COLOR_CLEAR_VALUE |
C | GetFloatv |
0.0,0.0,0.0,0.0 | Color buffer clear value | color-buffer |
DEPTH_CLEAR_VALUE |
R+ | GetFloatv |
1 | Depth buffer clear value | depth-buffer |
STENCIL_CLEAR_VALUE |
Z+ | GetIntegerv |
0 | Stencil clear value | stencil-buffer |
DRAW_FRAMEBUFFER_BINDING |
Z+ | GetIntegerv |
0 | Framebuffer object bound to \glc{DRAW_FRAMEBUFFER} | — |
READ_FRAMEBUFFER_BINDING |
Z+ | GetIntegerv |
0 | Framebuffer object bound to \glc{READ_FRAMEBUFFER} | — |
RENDERBUFFER_BINDING |
Z | GetIntegerv |
0 | Renderbuffer object bound to \glc{RENDERBUFFER} | — |
§ Framebuffer (state per framebuffer object)
|
|||||
DRAW_BUFFER0 …DRAW_BUFFER0 + (n-1)where n ≥ MAX_DRAW_BUFFERS |
n × E | GetIntegerv |
see~\ref{setbuffers} | Draw buffer selected for color output $i$ | color-buffer |
READ_BUFFER |
E | GetIntegerv |
see~\ref{pix:read:buffer} | Read source buffer† | pixel |
FRAMEBUFFER_DEFAULT_WIDTH |
Z+ | GetFramebufferParameteriv |
0 | Default width of framebuffer w/o attachments | — |
FRAMEBUFFER_DEFAULT_HEIGHT |
Z+ | GetFramebufferParameteriv |
0 | Default height of framebuffer w/o attachments | — |
FRAMEBUFFER_DEFAULT_LAYERS |
Z+ | GetFramebufferParameteriv |
0 | Default layer count of framebuffer w/o attachments | — |
FRAMEBUFFER_DEFAULT_SAMPLES |
Z+ | GetFramebufferParameteriv |
0 | Default sample count of framebuffer w/o attachments | — |
FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS |
B | GetFramebufferParameteriv |
\glc{FALSE} | Default sample location pattern of framebuffer w/o attachments | — |
§ Framebuffer (state per attachment point) |
|||||
FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE |
E | GetFramebufferAttachmentParameteriv |
\glc{NONE} | Type of image attached to framebuffer attachment point | — |
FRAMEBUFFER_ATTACHMENT_OBJECT_NAME |
Z+ | GetFramebufferAttachmentParameteriv |
0 | Name of object attached to framebuffer attachment point | — |
FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL |
Z+ | GetFramebufferAttachmentParameteriv |
0 | Mipmap level of texture image attached, if object attached is texture | — |
FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE |
Z+ | GetFramebufferAttachmentParameteriv |
\glc{NONE} | Cubemap face of texture image attached, if object attached is cubemap texture | — |
FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER |
Z | GetFramebufferAttachmentParameteriv |
0 | Layer of texture image attached, if object attached is 3D texture | — |
FRAMEBUFFER_ATTACHMENT_LAYERED |
B | GetFramebufferAttachmentParameteriv |
\glc{FALSE} | Framebuffer attachment is layered | — |
FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING |
E | GetFramebufferAttachmentParameteriv |
— | Encoding of components in the attached image | — |
FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE |
E | GetFramebufferAttachmentParameteriv |
— | Data type of components in the attached image | — |
FRAMEBUFFER_ATTACHMENT_RED_SIZE |
Z+ | GetFramebufferAttachmentParameteriv |
— | Size in bits of attached image's RED component | — |
FRAMEBUFFER_ATTACHMENT_GREEN_SIZE |
Z+ | GetFramebufferAttachmentParameteriv |
— | Size in bits of attached image's GREEN component | — |
FRAMEBUFFER_ATTACHMENT_BLUE_SIZE |
Z+ | GetFramebufferAttachmentParameteriv |
— | Size in bits of attached image's BLUE component | — |
FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE |
Z+ | GetFramebufferAttachmentParameteriv |
— | Size in bits of attached image's ALPHA component | — |
FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE |
Z+ | GetFramebufferAttachmentParameteriv |
— | Size in bits of attached image's DEPTH component | — |
FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE |
Z+ | GetFramebufferAttachmentParameteriv |
— | Size in bits of attached image's STENCIL component | — |
— | S | GetObjectLabel |
empty | Debug label | — |
§ Renderbuffer (state per renderbuffer object) |
|||||
RENDERBUFFER_WIDTH |
Z+ | GetRenderbufferParameteriv |
0 | Width of renderbuffer | — |
RENDERBUFFER_HEIGHT |
Z+ | GetRenderbufferParameteriv |
0 | Height of renderbuffer | — |
RENDERBUFFER_INTERNAL_FORMAT |
E | GetRenderbufferParameteriv |
\glc{RGBA4} | Internal format of renderbuffer | — |
RENDERBUFFER_RED_SIZE |
Z+ | GetRenderbufferParameteriv |
0 | Size in bits of renderbuffer image's red component | — |
RENDERBUFFER_GREEN_SIZE |
Z+ | GetRenderbufferParameteriv |
0 | Size in bits of renderbuffer image's green component | — |
RENDERBUFFER_BLUE_SIZE |
Z+ | GetRenderbufferParameteriv |
0 | Size in bits of renderbuffer image's blue component | — |
RENDERBUFFER_ALPHA_SIZE |
Z+ | GetRenderbufferParameteriv |
0 | Size in bits of renderbuffer image's alpha component | — |
RENDERBUFFER_DEPTH_SIZE |
Z+ | GetRenderbufferParameteriv |
0 | Size in bits of renderbuffer image's depth component | — |
RENDERBUFFER_STENCIL_SIZE |
Z+ | GetRenderbufferParameteriv |
0 | Size in bits of renderbuffer image's stencil component | — |
RENDERBUFFER_SAMPLES |
Z+ | GetRenderbufferParameteriv |
0 | No. of samples | — |
— | S | GetObjectLabel |
empty | Debug label | — |
§ Pixels |
|||||
UNPACK_IMAGE_HEIGHT |
Z+ | GetIntegerv |
0 | Value of \glc{UNPACK_IMAGE_HEIGHT} | pixel-store |
UNPACK_SKIP_IMAGES |
Z+ | GetIntegerv |
0 | Value of \glc{UNPACK_SKIP_IMAGES} | pixel-store |
UNPACK_ROW_LENGTH |
Z+ | GetIntegerv |
0 | Value of \glc{UNPACK_ROW_LENGTH} | pixel-store |
UNPACK_SKIP_ROWS |
Z+ | GetIntegerv |
0 | Value of \glc{UNPACK_SKIP_ROWS} | pixel-store |
UNPACK_SKIP_PIXELS |
Z+ | GetIntegerv |
0 | Value of \glc{UNPACK_SKIP_PIXELS} | pixel-store |
UNPACK_ALIGNMENT |
Z+ | GetIntegerv |
4 | Value of \glc{UNPACK_ALIGNMENT} | pixel-store |
PACK_ROW_LENGTH |
Z+ | GetIntegerv |
0 | Value of \glc{PACK_ROW_LENGTH} | pixel-store |
PACK_SKIP_ROWS |
Z+ | GetIntegerv |
0 | Value of \glc{PACK_SKIP_ROWS} | pixel-store |
PACK_SKIP_PIXELS |
Z+ | GetIntegerv |
0 | Value of \glc{PACK_SKIP_PIXELS} | pixel-store |
PACK_ALIGNMENT |
Z+ | GetIntegerv |
4 | Value of \glc{PACK_ALIGNMENT} | pixel-store |
PIXEL_PACK_BUFFER_BINDING |
Z+ | GetIntegerv |
0 | Pixel pack buffer binding | pixel-store |
PIXEL_UNPACK_BUFFER_BINDING |
Z+ | GetIntegerv |
0 | Pixel unpack buffer binding | pixel-store |
§ Shader Object State |
|||||
SHADER_TYPE |
E | GetShaderiv |
— | Type of shader (see table~\ref{tab:programs:shadertypes}) | — |
DELETE_STATUS |
B | GetShaderiv |
\glc{FALSE} | Shader flagged for deletion | — |
COMPILE_STATUS |
B | GetShaderiv |
\glc{FALSE} | Last compile succeeded | — |
— | S | GetShaderInfoLog |
empty string | Info log for shader objects | — |
INFO_LOG_LENGTH |
Z+ | GetShaderiv |
0 | Length of info log | — |
— | S | GetShaderSource |
empty string | Source code for a shader | — |
SHADER_SOURCE_LENGTH |
Z+ | GetShaderiv |
0 | Length of source code | — |
— | S | GetObjectLabel |
empty | Debug label | — |
§ Program Pipeline Object State |
|||||
ACTIVE_PROGRAM |
Z+ | GetProgramPipelineiv |
0 | The program object that \func{Uniform*} commands update when PPO bound | — |
VERTEX_SHADER |
Z+ | GetProgramPipelineiv |
0 | Name of current vertex shader program object | — |
GEOMETRY_SHADER |
Z+ | GetProgramPipelineiv |
0 | Name of current geometry shader program object | — |
TESS_CONTROL_SHADER |
Z+ | GetProgramPipelineiv |
0 | Name of current TCS program object | — |
TESS_EVALUATION_SHADER |
Z+ | GetProgramPipelineiv |
0 | Name of current TES program object | — |
FRAGMENT_SHADER |
Z+ | GetProgramPipelineiv |
0 | Name of current fragment shader program object | — |
COMPUTE_SHADER |
Z+ | GetProgramPipelineiv |
0 | Name of current compute shader program object | — |
VALIDATE_STATUS |
B | GetProgramPipelineiv |
\glc{FALSE} | Validate status of program pipeline object | — |
— | S | GetProgramPipelineInfoLog |
empty | Info log for program pipeline object | — |
INFO_LOG_LENGTH |
Z+ | GetProgramPipelineiv |
0 | Length of info log | — |
— | S | GetObjectLabel |
empty | Debug label | — |
§ Program Object State |
|||||
CURRENT_PROGRAM |
Z+ | GetIntegerv |
0 | Name of current program object | — |
PROGRAM_PIPELINE_BINDING |
Z+ | GetIntegerv |
0 | Current program pipeline object binding | — |
PROGRAM_SEPARABLE |
B | GetProgramiv |
\glc{FALSE} | Program object can be bound for separate pipeline stages | — |
DELETE_STATUS |
B | GetProgramiv |
\glc{FALSE} | Program object deleted | — |
LINK_STATUS |
B | GetProgramiv |
\glc{FALSE} | Last link attempt succeeded | — |
VALIDATE_STATUS |
B | GetProgramiv |
\glc{FALSE} | Last validate attempt succeeded | — |
ATTACHED_SHADERS |
Z+ | GetProgramiv |
0 | No. of attached shader objects | — |
— | 0* × Z+ | GetAttachedShaders |
empty | Shader objects attached | — |
— | S | GetProgramInfoLog |
empty | Info log for program object | — |
INFO_LOG_LENGTH |
Z+ | GetProgramiv |
0 | Length of info log | — |
PROGRAM_BINARY_LENGTH |
Z+ | GetProgramiv |
0 | Length of program binary | — |
PROGRAM_BINARY_RETRIEVABLE_HINT |
B | GetProgramiv |
\glc{FALSE} | Retrievable binary hint enabled | — |
— | 0* × BMU | GetProgramBinary |
— | Binary representation of program | — |
COMPUTE_WORK_GROUP_SIZE |
3 × Z+ | GetProgramiv |
\{0, \dots \} | Local work size of a linked compute program | — |
— | S | GetObjectLabel |
empty | Debug label | — |
§ Program Object State (cont.) |
|||||
ACTIVE_UNIFORMS |
Z+ | GetProgramiv |
0 | No. of active uniforms | — |
— | 0* × Z | GetUniformLocation |
— | Location of active uniforms | — |
— | 0* × Z+ | GetActiveUniform |
— | Size of active uniform | — |
— | 0* × Z+ | GetActiveUniform |
— | Type of active uniform | — |
— | 0* × char |
GetActiveUniform |
empty | Name of active uniform | — |
ACTIVE_UNIFORM_MAX_LENGTH |
Z+ | GetProgramiv |
0 | Max. active uniform name length | — |
— | — | GetUniform |
0 | Uniform value | — |
ACTIVE_ATTRIBUTES |
Z+ | GetProgramiv |
0 | No. of active attributes | — |
§ Program Object State (cont.) |
|||||
— | 0* × Z | GetAttribLocation |
— | Location of active generic attribute | — |
— | 0* × Z+ | GetActiveAttrib |
— | Size of active attribute | — |
— | 0* × Z+ | GetActiveAttrib |
— | Type of active attribute | — |
— | 0* × char |
GetActiveAttrib |
empty | Name of active attribute | — |
ACTIVE_ATTRIBUTE_MAX_LENGTH |
Z+ | GetProgramiv |
0 | Max. active attribute name length | — |
GEOMETRY_VERTICES_OUT |
Z+ | GetProgramiv |
0 | Max. no. of output vertices | — |
GEOMETRY_INPUT_TYPE |
E | GetProgramiv |
\glc{TRIANGLES} | Primitive input type | — |
GEOMETRY_OUTPUT_TYPE |
E | GetProgramiv |
\glc{TRIANGLE_STRIP} | Primitive output type | — |
GEOMETRY_SHADER_INVOCATIONS |
Z+ | GetProgramiv |
1 | No. of times a geom. shader should be executed for each input primitive | — |
TRANSFORM_FEEDBACK_BUFFER_MODE |
E | GetProgramiv |
\glc{INTERLEAVED_ATTRIBS} | Transform feedback mode for the program | — |
TRANSFORM_FEEDBACK_VARYINGS |
Z+ | GetProgramiv |
0 | No. of outputs to stream to buffer object(s) | — |
TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH |
Z+ | GetProgramiv |
0 | Max. transform feedback output variable name length | — |
— | Z+ | GetTransformFeedbackVarying |
— | Size of each transform feedback output variable | — |
— | Z+ | GetTransformFeedbackVarying |
— | Type of each transform feedback output variable | — |
— | 0^{+} × char |
GetTransformFeedbackVarying |
— | Name of each transform feedback output variable | — |
§ Program Object State (cont.) |
|||||
ACTIVE_UNIFORM_BLOCKS |
Z+ | GetProgramiv |
0 | No. of active uniform blocks in a program | — |
ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH |
Z+ | GetProgramiv |
0 | Length of longest active uniform block name | — |
UNIFORM_TYPE |
0* × E | GetActiveUniformsiv |
— | Type of active uniform | — |
UNIFORM_SIZE |
0* × Z+ | GetActiveUniformsiv |
— | Size of active uniform | — |
UNIFORM_NAME_LENGTH |
0* × Z+ | GetActiveUniformsiv |
— | Uniform name length | — |
UNIFORM_BLOCK_INDEX |
0* × Z | GetActiveUniformsiv |
— | Uniform block index | — |
UNIFORM_OFFSET |
0* × Z | GetActiveUniformsiv |
— | Uniform buffer offset | — |
§ Program Object State (cont.) |
|||||
UNIFORM_ARRAY_STRIDE |
0* × Z | GetActiveUniformsiv |
— | Uniform buffer array stride | — |
UNIFORM_MATRIX_STRIDE |
0* × Z | GetActiveUniformsiv |
— | Uniform buffer intra-matrix stride | — |
UNIFORM_IS_ROW_MAJOR |
0* × B | GetActiveUniformsiv |
— | Whether uniform is a row-major matrix | — |
UNIFORM_BLOCK_BINDING |
Z+ | GetActiveUniformBlockiv |
0 | Uniform buffer binding points associated with the specified uniform block | — |
UNIFORM_BLOCK_DATA_SIZE |
Z+ | GetActiveUniformBlockiv |
— | Size of the storage needed to hold this uniform block's data | — |
UNIFORM_BLOCK_NAME_LENGTH |
Z+ | GetActiveUniformBlockiv |
— | Uniform block name length | — |
UNIFORM_BLOCK_ACTIVE_UNIFORMS |
Z+ | GetActiveUniformBlockiv |
— | Count of active uniforms in the specified uniform block | — |
UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES |
n × Z+ |
GetActiveUniformBlockiv |
— | Array of active uniform indices of the specified uniform block | — |
UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER |
B | GetActiveUniformBlockiv |
0 | True if uniform block is actively referenced by the vertex stage | — |
UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER |
B | GetActiveUniformBlockiv |
0 | True if uniform block is actively referenced by the fragment stage | — |
§ Program Object State (cont.) |
|||||
TESS_CONTROL_OUTPUT_VERTICES |
Z+ | GetProgramiv |
0 | Output patch size for tess. control shader | — |
TESS_GEN_MODE |
E | GetProgramiv |
\glc{QUADS} | Base primitive type for tess. prim. generator | — |
TESS_GEN_SPACING |
E | GetProgramiv |
\glc{EQUAL} | Spacing of tess. prim. generator edge subdivision | — |
TESS_GEN_VERTEX_ORDER |
E | GetProgramiv |
\glc{CCW} | Order of vertices in primitives generated by tess. primitive generator | — |
TESS_GEN_POINT_MODE |
B | GetProgramiv |
\glc{FALSE} | Tess. prim. generator emits points? | — |
ACTIVE_ATOMIC_COUNTER_BUFFERS |
Z+ | GetProgramiv |
0 | No. of active atomic counter buffers (AACBs) used by a program | — |
§ Program Interface State |
|||||
ACTIVE_RESOURCES |
n × Z+ |
GetProgramInterfaceiv |
0 | No. of active resources on an interface | — |
MAX_NAME_LENGTH |
n × Z+ |
GetProgramInterfaceiv |
0 | Max. name length for active resources | — |
MAX_NUM_ACTIVE_VARIABLES |
n × Z+ |
GetProgramInterfaceiv |
0 | Max. no. of active variables for active resources | — |
§ Program Object Resource State |
|||||
ACTIVE_VARIABLES |
Z+ | GetProgramResourceiv |
— | List of active variables owned by active resource | — |
ARRAY_SIZE |
Z+ | GetProgramResourceiv |
— | Active resource array size | — |
ARRAY_STRIDE |
Z+ | GetProgramResourceiv |
— | Active resource array stride in memory | — |
ATOMIC_COUNTER_BUFFER_INDEX |
Z+ | GetProgramResourceiv |
— | Index of atomic counter buffer owning resource | — |
BLOCK_INDEX |
Z+ | GetProgramResourceiv |
— | Index of interface block owning resource | — |
BUFFER_BINDING |
Z+ | GetProgramResourceiv |
— | Buffer binding assigned to active resource | — |
BUFFER_DATA_SIZE |
Z+ | GetProgramResourceiv |
— | Min. buffer data size required for resource | — |
IS_ROW_MAJOR |
Z+ | GetProgramResourceiv |
— | Active resource stored as a row major matrix? | — |
LOCATION |
Z+ | GetProgramResourceiv |
— | Location assigned to active resource | — |
MATRIX_STRIDE |
Z+ | GetProgramResourceiv |
— | Active resource matrix stride in memory | — |
§ Program Object Resource State (cont.) |
|||||
NAME_LENGTH |
Z+ | GetProgramResourceiv |
— | Length of active resource name | — |
NUM_ACTIVE_VARIABLES |
Z+ | GetProgramResourceiv |
— | No. of active variables owned by active resource | — |
OFFSET |
Z+ | GetProgramResourceiv |
— | Active resource offset in memory | — |
REFERENCED_BY_VERTEX_SHADER |
Z+ | GetProgramResourceiv |
— | Active resource used by vertex shader? | — |
REFERENCED_BY_TESS_CONTROL_SHADER |
Z+ | GetProgramResourceiv |
— | Active resource used by tess. control shader? | — |
REFERENCED_BY_TESS_EVALUATION_SHADER |
Z+ | GetProgramResourceiv |
— | Active resource used by tess. evaluation shader? | — |
REFERENCED_BY_GEOMETRY_SHADER |
Z+ | GetProgramResourceiv |
— | Active resource used by geometry shader? | — |
REFERENCED_BY_FRAGMENT_SHADER |
Z+ | GetProgramResourceiv |
— | Active resource used by fragment shader? | — |
REFERENCED_BY_COMPUTE_SHADER |
Z+ | GetProgramResourceiv |
— | Active resource used by compute shader? | — |
TOP_LEVEL_ARRAY_SIZE |
Z+ | GetProgramResourceiv |
— | Array size of top level shd. storage block member | — |
TOP_LEVEL_ARRAY_STRIDE |
Z+ | GetProgramResourceiv |
— | Array stride of top level shd. storage block member | — |
TYPE |
Z+ | GetProgramResourceiv |
— | Active resource data type | — |
§ Vertex Shader State (not part of program objects) |
|||||
CURRENT_VERTEX_ATTRIB |
MAX_VERTEX_ATTRIBS × R4 |
GetVertexAttribfv |
0.0,0.0,0.0,1.0 | Current generic vertex attribute values | current |
§ Query Object State |
|||||
QUERY_RESULT |
Z+ | GetQueryObjectuiv |
0 or \glc{FALSE} | Query object result | — |
QUERY_RESULT_AVAILABLE |
B | GetQueryObjectuiv |
\glc{TRUE} | Is the query object result available? | — |
— | S | GetObjectLabel |
empty | Debug label | — |
§ Atomic Counter Buffer Binding State |
|||||
ATOMIC_COUNTER_BUFFER_BINDING |
Z+ | GetIntegerv |
0 | Current value of generic atomic counter buffer buffer | — |
ATOMIC_COUNTER_BUFFER_BINDING |
n × Z+ |
GetIntegeri_v |
0 | Buffer object bound to each atomic counter buffer binding point | — |
ATOMIC_COUNTER_BUFFER_START |
n × Z+ |
GetInteger64i_v |
0 | Start offset of binding range for each atomic counter buffer | — |
ATOMIC_COUNTER_BUFFER_SIZE |
n × Z+ |
GetInteger64i_v |
0 | Size of binding range for each atomic counter buffer | — |
§ Image State (state per image unit) |
|||||
IMAGE_BINDING_NAME |
8* × Z+ | GetIntegeri_v |
0 | Name of bound texture object | — |
IMAGE_BINDING_LEVEL |
8* × Z+ | GetIntegeri_v |
0 | Level of bound texture object | — |
IMAGE_BINDING_LAYERED |
8* × B | GetBooleani_v |
\glc{FALSE} | Texture object bound with multiple layers | — |
IMAGE_BINDING_LAYER |
8* × Z+ | GetIntegeri_v |
0 | Layer of bound texture, if not layered | — |
IMAGE_BINDING_ACCESS |
8* × E | GetIntegeri_v |
\glc{READ_ONLY} | Read and/or write access for bound texture | — |
IMAGE_BINDING_FORMAT |
8* × Z+ | GetIntegeri_v |
\glc{R32UI} | Format used for accesses to bound texture | — |
§ Shader Storage Buffer Binding State |
|||||
SHADER_STORAGE_BUFFER_BINDING |
Z+ | GetIntegerv |
0 | Current value of generic shader storage buffer binding | — |
SHADER_STORAGE_BUFFER_BINDING |
n × Z+ |
GetIntegeri_v |
0 | Buffer object bound to each shader storage buffer binding point | — |
SHADER_STORAGE_BUFFER_START |
n × Z+ |
GetInteger64i_v |
0 | Start offset of binding range for each shader storage buffer | — |
SHADER_STORAGE_BUFFER_SIZE |
n × Z+ |
GetInteger64i_v |
0 | Size of binding range for each shader storage buffer | — |
§ Transform Feedback State |
|||||
TRANSFORM_FEEDBACK_BUFFER_BINDING |
n × Z+ |
GetIntegeri_v |
0 | Buffer object bound to each transform feedback attribute stream | — |
TRANSFORM_FEEDBACK_BUFFER_START |
n × Z+ |
GetInteger64i_v |
0 | Start offset of binding range for each transform feedback attrib. stream | — |
TRANSFORM_FEEDBACK_BUFFER_SIZE |
n × Z+ |
GetInteger64i_v |
0 | Size of binding range for each transform feedback attrib. stream | — |
TRANSFORM_FEEDBACK_PAUSED |
B | GetBooleanv |
\glc{FALSE} | Is transform feedback paused on this object? | — |
TRANSFORM_FEEDBACK_ACTIVE |
B | GetBooleanv |
\glc{FALSE} | Is transform feedback active on this object? | — |
— | S | GetObjectLabel |
empty | Debug label | — |
§ Uniform Buffer Binding State |
|||||
UNIFORM_BUFFER_BINDING |
Z+ | GetIntegerv |
0 | Uniform buffer object bound to the context for buffer object manipulation | — |
UNIFORM_BUFFER_BINDING |
n × Z+ |
GetIntegeri_v |
0 | Uniform buffer object bound to the specified context binding point | — |
UNIFORM_BUFFER_START |
n × Z+ |
GetInteger64i_v |
0 | Start of bound uniform buffer region | — |
UNIFORM_BUFFER_SIZE |
n × Z+ |
GetInteger64i_v |
0 | Size of bound uniform buffer region | — |
§ Sync (state per sync object) |
|||||
OBJECT_TYPE |
E | GetSynciv |
\glc{SYNC_FENCE} | Type of sync object | — |
SYNC_STATUS |
E | GetSynciv |
\glc{UNSIGNALED} | Sync object status | — |
SYNC_CONDITION |
E | GetSynciv |
\glc{SYNC_GPU_COMMANDS_COMPLETE} | Sync object condition | — |
SYNC_FLAGS |
Z | GetSynciv |
0 | Sync object flags | — |
— | S | GetObjectPtrLabel |
empty | Debug label | — |
§ Hints |
|||||
GENERATE_MIPMAP_HINT |
E | GetIntegerv |
\glc{DONT_CARE} | Mipmap generation hint | hint |
FRAGMENT_SHADER_DERIVATIVE_HINT |
E | GetIntegerv |
\glc{DONT_CARE} | Fragment shader derivative accuracy hint | hint |
§ Compute Dispatch State |
|||||
DISPATCH_INDIRECT_BUFFER_BINDING |
Z+ | GetIntegerv |
0 | Indirect dispatch buffer binding | — |
§ Implementation Dependent Values
|
|||||
SUBPIXEL_BITS |
Z+ | GetIntegerv |
4 | No. of bits of subpixel precision in screen $x_w$ and $y_w$ | — |
MAX_ELEMENT_INDEX |
Z+ | GetInteger64v |
$2^{24}-1$ | Max. element index | — |
MAX_3D_TEXTURE_SIZE |
Z+ | GetIntegerv |
256 | Max. 3D texture image dimension | — |
MAX_TEXTURE_SIZE |
Z+ | GetIntegerv |
2048 | Max. 2D texture image dimension | — |
MAX_ARRAY_TEXTURE_LAYERS |
Z+ | GetIntegerv |
256 | Max. no. of layers for texture arrays | — |
MAX_TEXTURE_LOD_BIAS |
R+ | GetFloatv |
2.0 | Max. absolute texture level of detail bias | — |
MAX_CUBE_MAP_TEXTURE_SIZE |
Z+ | GetIntegerv |
2048 | Max. cube map texture image dimension | — |
MAX_RENDERBUFFER_SIZE |
Z+ | GetIntegerv |
2048 | Max. width and height of renderbuffers | — |
ALIASED_POINT_SIZE_RANGE |
2 × R+ | GetFloatv |
1,1 | Range (lo to hi) of point sizes | — |
ALIASED_LINE_WIDTH_RANGE |
2 × R+ | GetFloatv |
1,1 | Range (lo to hi) of line widths | — |
MULTISAMPLE_LINE_WIDTH_RANGE |
2 × R+ | GetFloatv |
1,1 | Range (lo to hi) of multisampled line widths | — |
MULTISAMPLE_LINE_WIDTH_GRANULARITY |
R+ | GetFloatv |
— | Multisampled line width granularity | — |
MAX_DRAW_BUFFERS |
Z+ | GetIntegerv |
$4$ | Max. no. of active draw buffers | — |
MAX_FRAMEBUFFER_WIDTH |
Z+ | GetIntegerv |
2048† | Max. width for framebuffer object | — |
MAX_FRAMEBUFFER_HEIGHT |
Z+ | GetIntegerv |
2048† | Max. height for framebuffer object | — |
MAX_FRAMEBUFFER_LAYERS |
Z+ | GetIntegerv |
256 | Max. layer count for layered framebuffer object | — |
MAX_FRAMEBUFFER_SAMPLES |
Z+ | GetIntegerv |
4† | Max. sample count for framebuffer object | — |
MAX_COLOR_ATTACHMENTS |
Z+ | GetIntegerv |
4 | Max. no. of FBO attachment points for color buffers | — |
§ Implementation Dependent Values (cont.)
|
|||||
MIN_FRAGMENT_INTERPOLATION_OFFSET |
R | GetFloatv |
-0.5 | Furthest negative offset for \glv{interpolateAtOffset} | — |
MAX_FRAGMENT_INTERPOLATION_OFFSET |
R | GetFloatv |
+0.5 - 1 ULP‡ | Furthest positive offset for \glv{interpolateAtOffset} | — |
FRAGMENT_INTERPOLATION_OFFSET_BITS |
Z+ | GetIntegerv |
4 | Subpixel bits for \glv{interpolateAtOffset} | — |
MAX_VIEWPORT_DIMS |
2 × Z+ | GetIntegerv |
see \ref{view:port} | Max. viewport dimensions | — |
MAX_SAMPLES |
Z+ | GetIntegerv |
4 | Max. no. of samples supported for multisampling for all internal formats required to support multisampled rendering. | — |
MAX_SAMPLE_MASK_WORDS |
Z+ | GetIntegerv |
1 | Max. no. of sample mask words | — |
MAX_COLOR_TEXTURE_SAMPLES |
Z+ | GetIntegerv |
1 | Max. no. of samples in a color multisample texture† | — |
MAX_DEPTH_TEXTURE_SAMPLES |
Z+ | GetIntegerv |
1 | Max. no. of samples in a depth/stencil multisample texture† | — |
MAX_INTEGER_SAMPLES |
Z+ | GetIntegerv |
1 | Max. no. of samples in integer format multisample buffers† | — |
MAX_SERVER_WAIT_TIMEOUT |
Z+ | GetInteger64v |
0 | Max. \glr{WaitSync} timeout interval | — |
LAYER_PROVOKING_VERTEX |
E | GetIntegerv |
See sec.~\ref{geomshad:exec} | Vertex convention followed by \glv{gl_Layer} | — |
PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED |
B | GetBooleanv |
— | Primitive restart support for \glc{PATCHES} | — |
§ Implementation Dependent Values (cont.)
|
|||||
MAX_VERTEX_ATTRIB_RELATIVE_OFFSET |
Z | GetIntegerv |
2047 | Max. offset added to vertex buffer binding offset | — |
MAX_VERTEX_ATTRIB_BINDINGS |
Z | GetIntegerv |
16 | Max. no. of vertex buffers | — |
MAX_VERTEX_ATTRIB_STRIDE |
Z | GetIntegerv |
2048 | Max. vertex attribute stride | — |
MAX_ELEMENTS_INDICES |
Z+ | GetIntegerv |
— | Recommended max. no. of \glr{DrawRangeElements} indices | — |
MAX_ELEMENTS_VERTICES |
Z+ | GetIntegerv |
— | Recommended max. no. of \glr{DrawRangeElements} vertices | — |
MAX_TEXTURE_BUFFER_SIZE |
Z+ | GetIntegerv |
65536 | No. of addressable texels for buffer textures | — |
NUM_COMPRESSED_TEXTURE_FORMATS |
Z+ | GetIntegerv |
10 | No. of compressed texture formats | — |
COMPRESSED_TEXTURE_FORMATS |
10* × Z+ | GetIntegerv |
— | Enumerated compressed texture formats | — |
NUM_PROGRAM_BINARY_FORMATS |
Z+ | GetIntegerv |
0 | No. of program binary formats | — |
PROGRAM_BINARY_FORMATS |
0* × Z+ | GetIntegerv |
— | Enumerated program binary formats | — |
NUM_SHADER_BINARY_FORMATS |
Z+ | GetIntegerv |
0 | No. of shader binary formats | — |
SHADER_BINARY_FORMATS |
0* × Z+ | GetIntegerv |
— | Enumerated shader binary formats | — |
SHADER_COMPILER |
B | GetBooleanv |
— | Shader compiler supported, always \glc{TRUE} | — |
TEXTURE_BUFFER_OFFSET_ALIGNMENT |
Z+ | GetIntegerv |
256† | Min. required alignment for texture buffer offsets | — |
— | 2 × 6 × 2 × Z+ | GetShaderPrecisionFormat |
— | Shader data type ranges | — |
— | 2 × 6 × Z+ | GetShaderPrecisionFormat |
— | Shader data type precisions | — |
§ Implementation Dependent Version and Extension Support |
|||||
EXTENSIONS |
0* × S | GetStringi |
— | Supported individual extension names | — |
NUM_EXTENSIONS |
Z+ | GetIntegerv |
— | No. of individual extension names | — |
MAJOR_VERSION |
Z+ | GetIntegerv |
3 | Major version no. supported | — |
MINOR_VERSION |
Z+ | GetIntegerv |
— | Minor version no. supported | — |
CONTEXT_FLAGS |
Z+ | GetIntegerv |
— | Context flags | — |
RENDERER |
S | GetString |
— | Renderer string | — |
SHADING_LANGUAGE_VERSION |
S | GetString |
— | Shading Language version supported | — |
VENDOR |
S | GetString |
— | Vendor string | — |
VERSION |
S | GetString |
— | OpenGL ES version supported | — |
§ Implementation Dependent Vertex Shader Limits |
|||||
MAX_VERTEX_ATTRIBS |
Z+ | GetIntegerv |
$16$ | No. of active vertex attributes | — |
MAX_VERTEX_UNIFORM_COMPONENTS |
Z+ | GetIntegerv |
1024 | No. of components for vertex shader uniform variables | — |
MAX_VERTEX_UNIFORM_VECTORS |
Z+ | GetIntegerv |
256 | No. of vectors for vertex shader uniform variables | — |
MAX_VERTEX_UNIFORM_BLOCKS |
Z+ | GetIntegerv |
12 | Max. no. of vertex uniform buffers per program | — |
MAX_VERTEX_OUTPUT_COMPONENTS |
Z+ | GetIntegerv |
64 | Max. no. of components of outputs written by a vertex shader | — |
MAX_VERTEX_TEXTURE_IMAGE_UNITS |
Z+ | GetIntegerv |
16 | No. of texture image units accessible by a vertex shader | — |
MAX_VERTEX_ATOMIC_COUNTER_BUFFERS |
Z+ | GetIntegerv |
0 | No. of atomic counter buffers accessed by a vertex shader | — |
MAX_VERTEX_ATOMIC_COUNTERS |
Z+ | GetIntegerv |
0 | No. of atomic counters accessed by a vertex shader | — |
MAX_VERTEX_SHADER_STORAGE_BLOCKS |
Z+ | GetIntegerv |
0 | No. of shader storage blocks accessed by a vertex shader | — |
§ Implementation Dependent Tessellation Shader Limits |
|||||
MAX_TESS_GEN_LEVEL |
Z+ | GetIntegerv |
64 | Max. level supported by tess. primitive generator | — |
MAX_PATCH_VERTICES |
Z+ | GetIntegerv |
32 | Max. patch size | — |
MAX_TESS_CONTROL_UNIFORM_COMPONENTS |
Z+ | GetIntegerv |
1024 | No. of words for tess. control shader (TCS) uniforms | — |
MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS |
Z+ | GetIntegerv |
16 | No. of tex. image units for TCS | — |
MAX_TESS_CONTROL_OUTPUT_COMPONENTS |
Z+ | GetIntegerv |
64 | No. components for TCS per-vertex outputs | — |
MAX_TESS_PATCH_COMPONENTS |
Z+ | GetIntegerv |
120 | No. components for TCS per-patch outputs | — |
MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS |
Z+ | GetIntegerv |
2048 | Total no. components for TCS per-patch outputs | — |
MAX_TESS_CONTROL_INPUT_COMPONENTS |
Z+ | GetIntegerv |
64 | No. components for TCS per-vertex inputs | — |
MAX_TESS_CONTROL_UNIFORM_BLOCKS |
Z+ | GetIntegerv |
$12*$ | No. of supported uniform blocks for TCS | — |
MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS |
Z+ | GetIntegerv |
0 | No. of atomic counter (AC) buffers accessed by a TCS | — |
MAX_TESS_CONTROL_ATOMIC_COUNTERS |
Z+ | GetIntegerv |
0 | No. of ACs accessed by a TCS | — |
MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS |
Z+ | GetIntegerv |
0 | No. of shader storage blocks accessed by a tess. control shader | — |
§ Implementation Dependent Tessellation Shader Limits (cont.) |
|||||
MAX_TESS_EVALUATION_UNIFORM_COMPONENTS |
Z+ | GetIntegerv |
1024 | No. of words for tess. evaluation shader (TES) uniforms | — |
MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS |
Z+ | GetIntegerv |
16 | No. of tex. image units for TES | — |
MAX_TESS_EVALUATION_OUTPUT_COMPONENTS |
Z+ | GetIntegerv |
64 | No. components for TES per-vertex outputs | — |
MAX_TESS_EVALUATION_INPUT_COMPONENTS |
Z+ | GetIntegerv |
64 | No. components for TES per-vertex inputs | — |
MAX_TESS_EVALUATION_UNIFORM_BLOCKS |
Z+ | GetIntegerv |
$12*$ | No. of supported uniform blocks for TES | — |
MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS |
Z+ | GetIntegerv |
0 | No. of AC buffers accessed by a TES | — |
MAX_TESS_EVALUATION_ATOMIC_COUNTERS |
Z+ | GetIntegerv |
0 | No. of ACs accessed by a TES | — |
MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS |
Z+ | GetIntegerv |
0 | No. of shader storage blocks accessed by a tess. evaluation shader | — |
§ Implementation Dependent Geometry Shader Limits |
|||||
MAX_GEOMETRY_UNIFORM_COMPONENTS |
Z+ | GetIntegerv |
1024 | No. of components for geometry shader (GS) uniform variables | — |
MAX_GEOMETRY_UNIFORM_BLOCKS |
Z+ | GetIntegerv |
$12*$ | Max. no. of GS uniform buffers per program | — |
MAX_GEOMETRY_INPUT_COMPONENTS |
Z+ | GetIntegerv |
64 | Max. no. of components of inputs read by a GS | — |
MAX_GEOMETRY_OUTPUT_COMPONENTS |
Z+ | GetIntegerv |
64 | Max. no. of components of outputs written by a GS | — |
MAX_GEOMETRY_OUTPUT_VERTICES |
Z+ | GetIntegerv |
256 | Max. no. of vertices that any GS {can} emit | — |
MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS |
Z+ | GetIntegerv |
1024 | Max. no. of total components (all vertices) of active outputs that a GS can emit | — |
MAX_GEOMETRY_TEXTURE_IMAGE_UNITS |
Z+ | GetIntegerv |
16 | No. of texture image units accessible by a GS | — |
MAX_GEOMETRY_SHADER_INVOCATIONS |
Z+ | GetIntegerv |
32 | Max. supported GS invocation count | — |
MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS |
Z+ | GetIntegerv |
0 | No. of atomic counter buffers accessed by a GS | — |
MAX_GEOMETRY_ATOMIC_COUNTERS |
Z+ | GetIntegerv |
0 | No. of atomic counters accessed by a GS | — |
MAX_GEOMETRY_SHADER_STORAGE_BLOCKS |
Z+ | GetIntegerv |
0 | No. of shader storage blocks accessed by a GS | — |
§ Implementation Dependent Fragment Shader Limits |
|||||
MAX_FRAGMENT_UNIFORM_COMPONENTS |
Z+ | GetIntegerv |
1024 | No. of components for fragment shader uniform variables | — |
MAX_FRAGMENT_UNIFORM_VECTORS |
Z+ | GetIntegerv |
256 | No. of vectors for fragment shader uniform variables | — |
MAX_FRAGMENT_UNIFORM_BLOCKS |
Z+ | GetIntegerv |
12 | Max. no. of fragment uniform buffers per program | — |
MAX_FRAGMENT_INPUT_COMPONENTS |
Z+ | GetIntegerv |
60 | Max. no. of components of inputs read by a fragment shader | — |
MAX_TEXTURE_IMAGE_UNITS |
Z+ | GetIntegerv |
16 | No. of texture image units accessible by a fragment shader | — |
MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS |
Z+ | GetIntegerv |
1 | No. of atomic counter buffers accessed by a fragment shader | — |
MAX_FRAGMENT_ATOMIC_COUNTERS |
Z+ | GetIntegerv |
8 | No. of atomic counters accessed by a fragment shader | — |
MAX_FRAGMENT_SHADER_STORAGE_BLOCKS |
Z+ | GetIntegerv |
4 | No. of shader storage blocks accessed by a fragment shader | — |
MIN_PROGRAM_TEXTURE_GATHER_OFFSET |
Z | GetIntegerv |
— | Min. texel offset for \glv{textureGather} | — |
MAX_PROGRAM_TEXTURE_GATHER_OFFSET |
Z+ | GetIntegerv |
— | Max. texel offset for \glv{textureGather} | — |
MIN_PROGRAM_TEXEL_OFFSET |
Z | GetIntegerv |
-8 | Min. texel offset allowed in lookup | — |
MAX_PROGRAM_TEXEL_OFFSET |
Z | GetIntegerv |
7 | Max. texel offset allowed in lookup | — |
§ Implementation Dependent Compute Shader Limits
|
|||||
MAX_COMPUTE_WORK_GROUP_COUNT |
3 × Z+ | GetIntegeri_v |
65535 | Max. no. of workgroups that may be dispatched by a single dispatch command (per dimension) | — |
MAX_COMPUTE_WORK_GROUP_SIZE |
3 × Z+ | GetIntegeri_v |
128 (x, y), 64 (z) | Max. local size of a compute workgroup (per dimension) | — |
MAX_COMPUTE_WORK_GROUP_INVOCATIONS |
Z+ | GetIntegerv |
128 | Max. total compute shader (CS) invocations in a single local workgroup | — |
MAX_COMPUTE_UNIFORM_BLOCKS |
Z+ | GetIntegerv |
12 | Max. no. of uniform blocks per compute program | — |
MAX_COMPUTE_TEXTURE_IMAGE_UNITS |
Z+ | GetIntegerv |
16 | Max. no. of texture image units accessible by a CS | — |
MAX_COMPUTE_SHARED_MEMORY_SIZE |
Z+ | GetIntegerv |
16384 | Max. total storage size of all variables declared as {\em shared} in all CSs linked into a single program object | — |
MAX_COMPUTE_UNIFORM_COMPONENTS |
Z+ | GetIntegerv |
1024 | No. of components for CS uniform variables | — |
MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS |
Z+ | GetIntegerv |
1 | No. of atomic counter buffers accessed by a CS | — |
MAX_COMPUTE_ATOMIC_COUNTERS |
Z+ | GetIntegerv |
8 | No. of atomic counters accessed by a CS | — |
MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS |
Z+ | GetIntegerv |
† | No. of words for CS uniform variables in all uniform blocks, including the default | — |
MAX_COMPUTE_SHADER_STORAGE_BLOCKS |
Z+ | GetIntegerv |
4 | No. of shader storage blocks accessed by a compute shader | — |
§ Implementation Dependent Aggregate Shader Limits
|
|||||
MAX_UNIFORM_BUFFER_BINDINGS |
Z+ | GetIntegerv |
72 | Max. no. of uniform buffer binding points on the context | — |
MAX_UNIFORM_BLOCK_SIZE |
Z+ | GetInteger64v |
16384 | Max. size in basic machine units of a uniform block | — |
UNIFORM_BUFFER_OFFSET_ALIGNMENT |
Z+ | GetIntegerv |
256† | {Min.} required alignment for uniform buffer sizes and offsets | — |
MAX_COMBINED_UNIFORM_BLOCKS |
Z+ | GetIntegerv |
$60*$ | Max. no. of uniform buffers per program | — |
MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS |
Z+ | GetInteger64v |
‡ | No. of words for vertex shader uniform var. in all uniform blocks (incl. default) | — |
MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS |
Z+ | GetIntegerv |
† | No. of words for TCS uniform var. in all uniform blocks (incl. default) | — |
MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS |
Z+ | GetIntegerv |
† | No. of words for TES uniform var. in all uniform blocks (incl. default) | — |
MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS |
Z+ | GetIntegerv |
† | No. of words for geometry shader uniform var. in all uniform blocks (incl. default) | — |
MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS |
Z+ | GetInteger64v |
‡ | No. of words for fragment shader uniform var. in all uniform blocks (incl. default) | — |
§ Implementation Dependent Aggregate Shader Limits (cont.) |
|||||
MAX_VARYING_COMPONENTS |
Z+ | GetIntegerv |
60 | No. of components for output variables | — |
MAX_VARYING_VECTORS |
Z+ | GetIntegerv |
15 | No. of vectors for output variables | — |
MAX_COMBINED_TEXTURE_IMAGE_UNITS |
Z+ | GetIntegerv |
$96$ | Total no. of texture units accessible by the GL | — |
MAX_COMBINED_SHADER_OUTPUT_RESOURCES |
Z+ | GetIntegerv |
4 | Limit on active image units, shader storage blocks, and frag. outputs | — |
MAX_UNIFORM_LOCATIONS |
Z+ | GetIntegerv |
1024 | Max. no. of user-assignable uniform locations | — |
MAX_ATOMIC_COUNTER_BUFFER_BINDINGS |
Z+ | GetIntegerv |
1 | Max. no. of atomic counter buffer bindings | — |
MAX_ATOMIC_COUNTER_BUFFER_SIZE |
Z+ | GetIntegerv |
32 | Max. size in basic machine units of an atomic counter buffer | — |
MAX_COMBINED_ATOMIC_COUNTER_BUFFERS |
Z+ | GetIntegerv |
1 | Max. no. of atomic counter buffers per program | — |
MAX_COMBINED_ATOMIC_COUNTERS |
Z+ | GetIntegerv |
8 | Max. no. of atomic counter uniforms per program | — |
§ Implementation Dependent Aggregate Shader Limits (cont.)
|
|||||
MAX_IMAGE_UNITS |
Z+ | GetIntegerv |
$4$ | No. of units for image load/store/atomics | — |
MAX_VERTEX_IMAGE_UNIFORMS |
Z+ | GetIntegerv |
0 | No. of image variables in vertex shaders | — |
MAX_TESS_CONTROL_IMAGE_UNIFORMS |
Z+ | GetIntegerv |
0 | No. of image variables in tess. control shaders | — |
MAX_TESS_EVALUATION_IMAGE_UNIFORMS |
Z+ | GetIntegerv |
0 | No. of image variables in tess. eval. shaders | — |
MAX_GEOMETRY_IMAGE_UNIFORMS |
Z+ | GetIntegerv |
0 | No. of image variables in geometry shaders | — |
MAX_FRAGMENT_IMAGE_UNIFORMS |
Z+ | GetIntegerv |
4 | No. of image variables in fragment shaders | — |
MAX_COMPUTE_IMAGE_UNIFORMS |
Z+ | GetIntegerv |
4 | No. of image variables in CSs | — |
MAX_COMBINED_IMAGE_UNIFORMS |
Z+ | GetIntegerv |
4 | No. of image variables in all shaders | — |
MAX_SHADER_STORAGE_BUFFER_BINDINGS |
Z+ | GetIntegerv |
4 | Max. no. of shader storage buffer bindings in the context | — |
MAX_SHADER_STORAGE_BLOCK_SIZE |
Z+ | GetInteger64v |
$2^{27}$ | Max. size in basic machine units of a shader storage block | — |
MAX_COMBINED_SHADER_STORAGE_BLOCKS |
Z+ | GetIntegerv |
4 | No. of shader storage blocks accessed by a program | — |
SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT |
Z+ | GetIntegerv |
256† | {Min.} required alignment for shader storage buffer binding offsets | — |
§ Debug Output State
|
|||||
DEBUG_CALLBACK_FUNCTION |
Y | GetPointerv |
\glc{NULL} | The current debug output callback function pointer | — |
DEBUG_CALLBACK_USER_PARAM |
Y | GetPointerv |
\glc{NULL} | The current debug output callback user parameter | — |
DEBUG_LOGGED_MESSAGES |
Z+ | GetIntegerv |
0 | The no. of messages currently in the debug message log | — |
DEBUG_NEXT_LOGGED_MESSAGE_LENGTH |
Z+ | GetIntegerv |
0 | The string length of the oldest debug message in the debug message log | — |
DEBUG_OUTPUT_SYNCHRONOUS |
B | IsEnabled |
\glc{FALSE} | The enabled state for synchronous debug message callbacks | — |
DEBUG_GROUP_STACK_DEPTH |
Z+ | GetIntegerv |
1 | Debug group stack pointer | — |
DEBUG_OUTPUT |
B | IsEnabled |
Depends on the context† | The enabled state for debug output functionality | — |
§ Implementation Dependent Debug Output State |
|||||
MAX_DEBUG_MESSAGE_LENGTH |
Z+ | GetIntegerv |
1 | The max length of a debug message string, including its null terminator | — |
MAX_DEBUG_LOGGED_MESSAGES |
Z+ | GetIntegerv |
1 | The max no. of messages stored in the debug message log | — |
MAX_DEBUG_GROUP_STACK_DEPTH |
Z+ | GetIntegerv |
64 | Max. group stack depth | — |
MAX_LABEL_LENGTH |
Z+ | GetIntegerv |
256 | Max. length of a label string | — |
§ Implementation Dependent Transform Feedback Limits |
|||||
MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS |
Z+ | GetIntegerv |
64 | Max. no. of components to write to a single buffer in interleaved mode | — |
MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS |
Z+ | GetIntegerv |
4 | Max. no. of separate attributes or outputs that can be captured in transform feedback | — |
MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS |
Z+ | GetIntegerv |
4 | Max. no. of components per attribute or output in separate mode | — |
§ Framebuffer Dependent Values
|
|||||
SAMPLE_BUFFERS |
Z2 | GetIntegerv |
0 | No. of multisample buffers | — |
SAMPLES |
Z+ | GetIntegerv |
0 | Coverage mask size | — |
RED_BITS |
Z+ | GetIntegerv |
— | No. of bits in RED color buffer component | — |
GREEN_BITS |
Z+ | GetIntegerv |
— | No. of bits in GREEN color buffer component | — |
BLUE_BITS |
Z+ | GetIntegerv |
— | No. of bits in BLUE color buffer component | — |
ALPHA_BITS |
Z+ | GetIntegerv |
— | No. of bits in ALPHA color buffer component | — |
DEPTH_BITS |
Z+ | GetIntegerv |
— | No. of depth buffer planes | — |
STENCIL_BITS |
Z+ | GetIntegerv |
— | No. of stencil planes | — |
IMPLEMENTATION_COLOR_READ_TYPE |
E | GetIntegerv |
— | Implementation preferred pixel {\em type}† | — |
IMPLEMENTATION_COLOR_READ_FORMAT |
E | GetIntegerv |
— | Implementation preferred pixel {\em format}† | — |
SAMPLE_POSITION |
n × 2 × R[0,1] |
GetMultisamplefv |
impl-dependent | Explicit sample positions | — |
§ Miscellaneous |
|||||
— | n × E |
GetError |
0 | Current error code(s) | — |
— | n × B |
— | \glc{FALSE} | True if there is a corresponding error | — |
CURRENT_QUERY |
3 × Z+ | GetQueryiv |
0 | Active query object names | — |
COPY_READ_BUFFER_BINDING |
Z+ | GetIntegerv |
0 | Buffer object bound to copy buffer “read” bind point | — |
COPY_WRITE_BUFFER_BINDING |
Z+ | GetIntegerv |
0 | Buffer object bound to copy buffer “write” bind point | — |
RESET_NOTIFICATION_STRATEGY |
Z2 | GetIntegerv |
See sec.~\ref{fund:reset} | Reset notification behavior | — |
TEXTURE_BUFFER_BINDING |
Z+ | GetIntegerv |
0 | Buffer object bound to generic texture buffer bind point | texture |
Get value | Type | Get command | Initial value | Description | Attribute |
---|---|---|---|---|---|
§ GL Internal State (inaccessible)(for \func{Begin}/\func{End} state variables) |
|||||
— | E | — | 0 | When $\neq 0$, indicates primitive \arg{mode} | — |
— | V | — | — | Previous vertex in \bgl{line} | — |
— | B | — | — | Indicates if {\em line-vertex} is the first | — |
— | V | — | — | First vertex of a \bgl{line loop} | — |
— | Z+ | — | — | Line stipple counter | — |
— | n × V |
— | — | Vertices inside of \bgl{polygon} | — |
— | Z+ | — | — | No. of {\em polygon-vertices} | — |
— | 2 × V | — | — | Previous two vertices in a \bgl{triangle strip} | — |
— | Z3 | — | — | No. of vertices so far in triangle strip: 0, 1, or more | — |
— | Z2 | — | — | Triangle strip A/B vertex pointer | — |
— | 3 × V | — | — | Vertices of the quad under construction | — |
— | Z4 | — | — | No. of vertices so far in quad strip: 0, 1, 2, or more | — |
§ Current Values and Associated Data |
|||||
CURRENT_COLOR |
C | GetFloatv |
1.0,1.0,1.0,1.0 | Current color | current |
CURRENT_SECONDARY_COLOR |
C | GetFloatv |
0.0,0.0,0.0,1.0 | Current secondary color | current |
CURRENT_INDEX |
CI | GetIntegerv |
1 | Current color index | current |
CURRENT_TEXTURE_COORDS |
MAX_TEXTURE_COORDS × T |
GetFloatv |
0,0,0,1 | Current texture coordinates | current |
CURRENT_NORMAL |
N | GetFloatv |
0,0,1 | Current normal | current |
CURRENT_FOG_COORD |
R | GetFloatv |
0 | Current fog coordinate | current |
— | C | — | — | Color associated with last vertex | — |
— | CI | — | — | Color index associated with last vertex | — |
— | T | — | — | Texture coordinates associated with last vertex | — |
CURRENT_RASTER_POSITION |
R4 | GetFloatv |
0,0,0,1 | Current raster position | current |
CURRENT_RASTER_DISTANCE |
R+ | GetFloatv |
0 | Current raster distance | current |
CURRENT_RASTER_COLOR |
C | GetFloatv |
1.0,1.0,1.0,1.0 | Color associated with raster position | current |
CURRENT_RASTER_SECONDARY_COLOR |
C | GetFloatv |
0.0,0.0,0.0,1.0 | Secondary color associated with raster position | current |
CURRENT_RASTER_INDEX |
CI | GetIntegerv |
1 | Color index associated with raster position | current |
CURRENT_RASTER_TEXTURE_COORDS |
MAX_TEXTURE_COORDS × T |
GetFloatv |
0,0,0,1 | Texture coordinates associated with raster position | current |
CURRENT_RASTER_POSITION_VALID |
B | GetBooleanv |
\glc{TRUE} | Raster position valid bit | current |
EDGE_FLAG |
B | GetBooleanv |
\glc{TRUE} | Edge flag | current |
PATCH_VERTICES |
Z+ | GetIntegerv |
3 | No. of vertices in input patch | current |
PATCH_DEFAULT_OUTER_LEVEL |
4 × R | GetFloatv |
$(1.0,1.0,1.0,1.0)$ | Default outer tess. level w/o control shader | — |
PATCH_DEFAULT_INNER_LEVEL |
2 × R | GetFloatv |
$(1.0,1.0)$ | Default inner tess. level w/o control shader | — |
§ Vertex Array Object State |
|||||
VERTEX_ARRAY |
B | IsEnabled |
\glc{FALSE} | Vertex array enable | vertex-array |
VERTEX_ARRAY_SIZE |
Z+ | GetIntegerv |
4 | Coordinates per vertex | vertex-array |
VERTEX_ARRAY_TYPE |
E | GetIntegerv |
\glc{FLOAT} | Type of vertex coordinates | vertex-array |
VERTEX_ARRAY_STRIDE |
Z+ | GetIntegerv |
0 | Stride between vertices | vertex-array |
VERTEX_ARRAY_POINTER |
Y | GetPointerv |
0 | Pointer to the vertex array | vertex-array |
NORMAL_ARRAY |
B | IsEnabled |
\glc{FALSE} | Normal array enable | vertex-array |
NORMAL_ARRAY_TYPE |
E | GetIntegerv |
\glc{FLOAT} | Type of normal coordinates | vertex-array |
NORMAL_ARRAY_STRIDE |
Z+ | GetIntegerv |
0 | Stride between normals | vertex-array |
NORMAL_ARRAY_POINTER |
Y | GetPointerv |
0 | Pointer to the normal array | vertex-array |
FOG_COORD_ARRAY |
B | IsEnabled |
\glc{FALSE} | Fog coord array enable | vertex-array |
FOG_COORD_ARRAY_TYPE |
E | GetIntegerv |
\glc{FLOAT} | Type of fog coord components | vertex-array |
FOG_COORD_ARRAY_STRIDE |
Z+ | GetIntegerv |
0 | Stride between fog coords | vertex-array |
FOG_COORD_ARRAY_POINTER |
Y | GetPointerv |
0 | Pointer to the fog coord array | vertex-array |
COLOR_ARRAY |
B | IsEnabled |
\glc{FALSE} | Color array enable | vertex-array |
COLOR_ARRAY_SIZE |
Z3 | GetIntegerv |
4 | Color components per vertex | vertex-array |
COLOR_ARRAY_TYPE |
E | GetIntegerv |
\glc{FLOAT} | Type of color components | vertex-array |
COLOR_ARRAY_STRIDE |
Z+ | GetIntegerv |
0 | Stride between colors | vertex-array |
COLOR_ARRAY_POINTER |
Y | GetPointerv |
0 | Pointer to the color array | vertex-array |
§ Vertex Array Object State (cont.) |
|||||
SECONDARY_COLOR_ARRAY |
B | IsEnabled |
\glc{FALSE} | Secondary color array enable | vertex-array |
SECONDARY_COLOR_ARRAY_SIZE |
Z2 | GetIntegerv |
3 | Secondary color components per vertex | vertex-array |
SECONDARY_COLOR_ARRAY_TYPE |
E | GetIntegerv |
\glc{FLOAT} | Type of secondary color components | vertex-array |
SECONDARY_COLOR_ARRAY_STRIDE |
Z+ | GetIntegerv |
0 | Stride between secondary colors | vertex-array |
SECONDARY_COLOR_ARRAY_POINTER |
Y | GetPointerv |
0 | Pointer to the secondary color array | vertex-array |
INDEX_ARRAY |
B | IsEnabled |
\glc{FALSE} | Index array enable | vertex-array |
INDEX_ARRAY_TYPE |
E | GetIntegerv |
\glc{FLOAT} | Type of indices | vertex-array |
INDEX_ARRAY_STRIDE |
Z+ | GetIntegerv |
0 | Stride between indices | vertex-array |
INDEX_ARRAY_POINTER |
Y | GetPointerv |
0 | Pointer to the index array | vertex-array |
TEXTURE_COORD_ARRAY |
MAX_TEXTURE_COORDS × B |
IsEnabled |
\glc{FALSE} | Texture coordinate array enable | vertex-array |
TEXTURE_COORD_ARRAY_SIZE |
MAX_TEXTURE_COORDS × Z+ |
GetIntegerv |
4 | Coordinates per element | vertex-array |
TEXTURE_COORD_ARRAY_TYPE |
MAX_TEXTURE_COORDS × E |
GetIntegerv |
\glc{FLOAT} | Type of texture coordinates | vertex-array |
TEXTURE_COORD_ARRAY_STRIDE |
MAX_TEXTURE_COORDS × Z+ |
GetIntegerv |
0 | Stride between texture coordinates | vertex-array |
TEXTURE_COORD_ARRAY_POINTER |
MAX_TEXTURE_COORDS × Y |
GetPointerv |
0 | Pointer to the texture coordinate array | vertex-array |
§ Vertex Array Object State (cont.) |
|||||
VERTEX_ATTRIB_ARRAY_ENABLED |
MAX_VERTEX_ATTRIBS × B |
GetVertexAttribiv |
\glc{FALSE} | Vertex attrib array enable | vertex-array |
VERTEX_ATTRIB_ARRAY_SIZE |
MAX_VERTEX_ATTRIBS × Z5 |
GetVertexAttribiv |
4 | Vertex attrib array size | vertex-array |
VERTEX_ATTRIB_ARRAY_STRIDE |
MAX_VERTEX_ATTRIBS × Z+ |
GetVertexAttribiv |
0 | Vertex attrib array stride | vertex-array |
VERTEX_ATTRIB_ARRAY_TYPE |
MAX_VERTEX_ATTRIBS × E |
GetVertexAttribiv |
\glc{FLOAT} | Vertex attrib array type | vertex-array |
VERTEX_ATTRIB_ARRAY_NORMALIZED |
MAX_VERTEX_ATTRIBS × B |
GetVertexAttribiv |
\glc{FALSE} | Vertex attrib array normalized | vertex-array |
VERTEX_ATTRIB_ARRAY_INTEGER |
MAX_VERTEX_ATTRIBS × B |
GetVertexAttribiv |
\glc{FALSE} | Vertex attrib array has unconverted integers | vertex-array |
VERTEX_ATTRIB_ARRAY_LONG |
MAX_VERTEX_ATTRIBS × B |
GetVertexAttribiv |
\glc{FALSE} | Vertex attrib array has unconverted doubles | vertex-array |
VERTEX_ATTRIB_ARRAY_DIVISOR |
MAX_VERTEX_ATTRIBS × Z+ |
GetVertexAttribiv |
0 | Vertex attrib array instance divisor | vertex-array |
VERTEX_ATTRIB_ARRAY_POINTER |
MAX_VERTEX_ATTRIBS × Y |
GetVertexAttribPointerv |
\glc{NULL} | Vertex attrib array pointer | vertex-array |
EDGE_FLAG_ARRAY |
B | IsEnabled |
\glc{FALSE} | Edge flag array enable | vertex-array |
EDGE_FLAG_ARRAY_STRIDE |
Z+ | GetIntegerv |
0 | Stride between edge flags | vertex-array |
EDGE_FLAG_ARRAY_POINTER |
Y | GetPointerv |
0 | Pointer to the edge flag array | vertex-array |
— | S | GetObjectLabel |
empty | Debug label | — |
§ Vertex Array Object State (cont.)
|
|||||
VERTEX_ARRAY_BUFFER_BINDING |
Z+ | GetIntegerv |
0 | Vertex array buffer binding | vertex-array |
NORMAL_ARRAY_BUFFER_BINDING |
Z+ | GetIntegerv |
0 | Normal array buffer binding | vertex-array |
COLOR_ARRAY_BUFFER_BINDING |
Z+ | GetIntegerv |
0 | Color array buffer binding | vertex-array |
INDEX_ARRAY_BUFFER_BINDING |
Z+ | GetIntegerv |
0 | Index array buffer binding | vertex-array |
TEXTURE_COORD_ARRAY_BUFFER_BINDING |
MAX_TEXTURE_COORDS × Z+ |
GetIntegerv |
0 | Texcoord array buffer binding | vertex-array |
EDGE_FLAG_ARRAY_BUFFER_BINDING |
Z+ | GetIntegerv |
0 | Edge flag array buffer binding | vertex-array |
SECONDARY_COLOR_ARRAY_BUFFER_BINDING |
Z+ | GetIntegerv |
0 | Secondary color array buffer binding | vertex-array |
FOG_COORD_ARRAY_BUFFER_BINDING |
Z+ | GetIntegerv |
0 | Fog coordinate array buffer binding | vertex-array |
ELEMENT_ARRAY_BUFFER_BINDING |
Z+ | GetIntegerv |
0 | Element array buffer binding | vertex-array |
VERTEX_ATTRIB_ARRAY_BUFFER_BINDING |
MAX_VERTEX_ATTRIBS × Z+ |
GetVertexAttribiv |
0 | Attribute array buffer binding | vertex-array |
VERTEX_ATTRIB_BINDING |
16 × Z16* | GetVertexAttribiv |
$i$† | Vertex buffer binding used by vertex attrib $i$ | vertex-array |
VERTEX_ATTRIB_RELATIVE_OFFSET |
16 × Z+ | GetVertexAttribiv |
0 | Byte offset added to vertex binding offset for this attribute | vertex-array |
VERTEX_BINDING_OFFSET |
16 × Z | GetInteger64i_v |
0 | Byte offset of the first element in data store of the buffer bound to vertex binding $i$ | vertex-array |
VERTEX_BINDING_STRIDE |
16 × Z | GetIntegeri_v |
16 | Stride between elements in vertex binding $i$ | vertex-array |
VERTEX_BINDING_DIVISOR |
16 × Z | GetIntegeri_v |
0 | Instance divisor for vertex binding $i$ | vertex-array |
VERTEX_BINDING_BUFFER |
16 × Z | GetIntegeri_v |
0 | Name of buffer bound to vertex binding $i$ | vertex-array |
§ Vertex Array Data (not in Vertex Array objects) |
|||||
CLIENT_ACTIVE_TEXTURE |
E | GetIntegerv |
\glc{TEXTURE0} | Client active texture unit selector | vertex-array |
ARRAY_BUFFER_BINDING |
Z+ | GetIntegerv |
0 | Current buffer binding | vertex-array |
DRAW_INDIRECT_BUFFER_BINDING |
Z+ | GetIntegerv |
0 | Indirect command buffer binding | — |
VERTEX_ARRAY_BINDING |
Z+ | GetIntegerv |
0 | Current vertex array object binding | vertex-array |
PARAMETER_BUFFER_BINDING |
Z+ | GetIntegerv |
0 | Indirect parameter buffer binding | — |
PRIMITIVE_RESTART |
B | IsEnabled |
\glc{FALSE} | Primitive restart enable | vertex-array |
PRIMITIVE_RESTART_FIXED_INDEX |
B | IsEnabled |
\glc{FALSE} | Primitive restart fixed index enable | vertex-array |
PRIMITIVE_RESTART_INDEX |
Z+ | GetIntegerv |
0 | Primitive restart index | vertex-array |
§ Buffer Object State |
|||||
— | n × BMU |
GetBufferSubData |
— | Buffer data | — |
BUFFER_SIZE |
n × Z+ |
GetBufferParameteri64v |
0 | Buffer data size | — |
BUFFER_USAGE |
n × E |
GetBufferParameteriv |
\glc{STATIC_DRAW} | Buffer usage pattern | — |
BUFFER_ACCESS |
n × E |
GetBufferParameteriv |
\glc{READ_WRITE} | Buffer access flag | — |
BUFFER_ACCESS_FLAGS |
n × Z+ |
GetBufferParameteriv |
0 | Extended buffer access flag | — |
BUFFER_IMMUTABLE_STORAGE |
B | GetBufferParameteriv |
\glc{FALSE} | \glc{TRUE} if buffer's data store is immutable, \glc{FALSE} otherwise | — |
BUFFER_STORAGE_FLAGS |
Z+ | GetBufferParameteriv |
0 | Buffer object storage flags | — |
BUFFER_MAPPED |
n × B |
GetBufferParameteriv |
\glc{FALSE} | Buffer map flag | — |
BUFFER_MAP_POINTER |
n × Y |
GetBufferPointerv |
\glc{NULL} | Mapped buffer pointer | — |
BUFFER_MAP_OFFSET |
n × Z+ |
GetBufferParameteri64v |
0 | Start of mapped buffer range | — |
BUFFER_MAP_LENGTH |
n × Z+ |
GetBufferParameteri64v |
0 | Size of mapped buffer range | — |
— | S | GetObjectLabel |
empty | Debug label | — |
§ Transformation state |
|||||
COLOR_MATRIX orTRANSPOSE_COLOR_MATRIX |
2* × M4 | GetFloatv |
Identity | Color matrix stack | — |
MODELVIEW_MATRIX orTRANSPOSE_MODELVIEW_MATRIX |
32* × M4 | GetFloatv |
Identity | Model-view matrix stack | — |
PROJECTION_MATRIX orTRANSPOSE_PROJECTION_MATRIX |
2* × M4 | GetFloatv |
Identity | Projection matrix stack | — |
TEXTURE_MATRIX orTRANSPOSE_TEXTURE_MATRIX |
MAX_TEXTURE_COORDS × 2* × M4 |
GetFloatv |
Identity | Texture matrix stack | — |
VIEWPORT |
16* × 4 × R | GetFloati_v |
See sec.~\ref{view:port} | Viewport origin \& extent | viewport |
DEPTH_RANGE |
$16* \times {2 \times} R^{[0,1]}$ | GetDoublei_v |
0,1 | Depth range near \& far | viewport |
COLOR_MATRIX_STACK_DEPTH |
Z+ | GetIntegerv |
1 | Color matrix stack pointer | — |
MODELVIEW_STACK_DEPTH |
Z+ | GetIntegerv |
1 | Model-view matrix stack pointer | — |
PROJECTION_STACK_DEPTH |
Z+ | GetIntegerv |
1 | Projection matrix stack pointer | — |
TEXTURE_STACK_DEPTH |
MAX_TEXTURE_COORDS × Z+ |
GetIntegerv |
1 | Texture matrix stack pointer | — |
MATRIX_MODE |
E | GetIntegerv |
\tt MODELVIEW | Current matrix mode | transform |
NORMALIZE |
B | IsEnabled |
\glc{FALSE} | Current normal normalization on/off | transform/enable |
RESCALE_NORMAL |
B | IsEnabled |
\glc{FALSE} | Current normal rescaling on/off | transform/enable |
CLIP_PLANE0 …CLIP_PLANE0 + (n-1)where n ≥ 6 |
n × R4 | GetClipPlane |
0,0,0,0 | User clipping plane coefficients | transform |
CLIP_DISTANCE0 …CLIP_DISTANCE0 + (n-1)where n ≥ 8 |
n × B | IsEnabled |
\glc{FALSE} | $i$th user clipping plane enabled | transform/enable |
CLIP_ORIGIN |
Z2 | GetIntegerv |
\glc{LOWER_LEFT} | Clip origin | xform |
CLIP_DEPTH_MODE |
Z2 | GetIntegerv |
\glc{NEGATIVE_ONE_TO_ONE} | Clip depth mode | xform |
DEPTH_CLAMP |
B | IsEnabled |
\glc{FALSE} | Depth clamping enabled | transform/enable |
TRANSFORM_FEEDBACK_BINDING |
Z+ | GetIntegerv |
0 | Object bound for transform feedback operations | — |
TRANSFORM_FEEDBACK_BUFFER_BINDING |
Z+ | GetIntegerv |
0 | Buffer object bound to generic bind point for transform feedback | — |
§ Coloring |
|||||
FOG_COLOR |
C | GetFloatv |
0.0,0.0,0.0,0.0 | Fog color | fog |
FOG_INDEX |
CI | GetFloatv |
0 | Fog index | fog |
FOG_DENSITY |
R | GetFloatv |
1.0 | Exponential fog density | fog |
FOG_START |
R | GetFloatv |
0.0 | Linear fog start | fog |
FOG_END |
R | GetFloatv |
1.0 | Linear fog end | fog |
FOG_MODE |
E | GetIntegerv |
\glc{EXP} | Fog mode | fog |
FOG |
B | IsEnabled |
\glc{FALSE} | True if fog enabled | fog/enable |
FOG_COORD_SRC |
E | GetIntegerv |
\glc{FRAGMENT_DEPTH} | Source of coordinate for fog calculation | fog |
COLOR_SUM |
B | IsEnabled |
\glc{FALSE} | True if color sum enabled | fog/enable |
SHADE_MODEL |
E | GetIntegerv |
\glc{SMOOTH} | \func{ShadeModel} setting | lighting |
CLAMP_VERTEX_COLOR |
E | GetIntegerv |
\glc{TRUE} | Vertex color clamping | lighting/enable |
CLAMP_FRAGMENT_COLOR |
E | GetIntegerv |
\glc{FIXED_ONLY} | Fragment color clamping | color-buffer/enable |
CLAMP_READ_COLOR |
E | GetIntegerv |
\glc{FIXED_ONLY} | Read color clamping | color-buffer/enable |
PROVOKING_VERTEX |
E | GetIntegerv |
\glc{LAST_VERTEX_CONVENTION} | Provoking vertex convention | lighting |
§ Lighting(see also table~\ref{light:tab1} for defaults) |
|||||
LIGHTING |
B | IsEnabled |
\glc{FALSE} | True if lighting is enabled | lighting/enable |
COLOR_MATERIAL |
B | IsEnabled |
\glc{FALSE} | True if color tracking is enabled | lighting/enable |
COLOR_MATERIAL_PARAMETER |
E | GetIntegerv |
\tt AMBIENT_AND_DIFFUSE | Material properties tracking current color | lighting |
COLOR_MATERIAL_FACE |
E | GetIntegerv |
\tt FRONT_AND_BACK | Face(s) affected by color tracking | lighting |
AMBIENT |
2 × C | GetMaterialfv |
(0.2,0.2,0.2,1.0) | Ambient material color | lighting |
DIFFUSE |
2 × C | GetMaterialfv |
(0.8,0.8,0.8,1.0) | Diffuse material color | lighting |
SPECULAR |
2 × C | GetMaterialfv |
(0.0,0.0,0.0,1.0) | Specular material color | lighting |
EMISSION |
2 × C | GetMaterialfv |
(0.0,0.0,0.0,1.0) | Emissive mat. color | lighting |
SHININESS |
2 × R | GetMaterialfv |
0.0 | Specular exponent of material | lighting |
LIGHT_MODEL_AMBIENT |
C | GetFloatv |
(0.2,0.2,0.2,1.0) | Ambient scene color | lighting |
LIGHT_MODEL_LOCAL_VIEWER |
B | GetBooleanv |
\glc{FALSE} | Viewer is local | lighting |
LIGHT_MODEL_TWO_SIDE |
B | GetBooleanv |
\glc{FALSE} | Use two-sided lighting | lighting |
LIGHT_MODEL_COLOR_CONTROL |
E | GetIntegerv |
\glc{SINGLE_COLOR} | Color control | lighting |
§ Lighting (cont.) |
|||||
AMBIENT |
8* × C | GetLightfv |
(0.0,0.0,0.0,1.0) | Ambient intensity of light $i$ | lighting |
DIFFUSE |
8* × C | GetLightfv |
See table~\ref{light:tab1} | Diffuse intensity of light $i$ | lighting |
SPECULAR |
8* × C | GetLightfv |
See table~\ref{light:tab1} | Specular intensity of light $i$ | lighting |
POSITION |
8* × P | GetLightfv |
(0.0,0.0,1.0,0.0) | Position of light $i$ | lighting |
CONSTANT_ATTENUATION |
8* × R+ | GetLightfv |
1.0 | Constant atten. factor | lighting |
LINEAR_ATTENUATION |
8* × R+ | GetLightfv |
0.0 | Linear atten. factor | lighting |
QUADRATIC_ATTENUATION |
8* × R+ | GetLightfv |
0.0 | Quadratic atten. factor | lighting |
SPOT_DIRECTION |
8* × D | GetLightfv |
(0.0,0.0,-1.0) | Spotlight direction of light $i$ | lighting |
SPOT_EXPONENT |
8* × R+ | GetLightfv |
0.0 | Spotlight exponent of light $i$ | lighting |
SPOT_CUTOFF |
8* × R+ | GetLightfv |
180.0 | Spot. angle of light $i$ | lighting |
LIGHT0 …LIGHT0 + (n-1)where n ≥ 8 |
n × B | IsEnabled |
\glc{FALSE} | True if light $i$ enabled | lighting/enable |
COLOR_INDEXES |
2 × 3 × R | GetMaterialfv |
0,1,1 | $a_m$, $d_m$, and $s_m$ for color index lighting | lighting |
§ Rasterization
|
|||||
RASTERIZER_DISCARD |
B | IsEnabled |
\glc{FALSE} | Discard primitives before rasterization | — |
POINT_SIZE |
R+ | GetFloatv |
1.0 | Point size | point |
POINT_SMOOTH |
B | IsEnabled |
\glc{FALSE} | Point antialiasing on | point/enable |
POINT_SPRITE |
B | IsEnabled |
\glc{FALSE} | Point sprite enable | point/enable |
POINT_SIZE_MIN |
R+ | GetFloatv |
0.0 | Attenuated min point size | point |
POINT_SIZE_MAX |
R+ | GetFloatv |
† | Attenuated max point size. | point |
POINT_FADE_THRESHOLD_SIZE |
R+ | GetFloatv |
1.0 | Threshold for alpha attenuation | point |
POINT_DISTANCE_ATTENUATION |
3 × R+ | GetFloatv |
1,0,0 | Attenuation coefficients | point |
POINT_SPRITE_COORD_ORIGIN |
E | GetIntegerv |
\glc{UPPER_LEFT} | Origin orientation for point sprites | point |
LINE_WIDTH |
R+ | GetFloatv |
1.0 | Line width | line |
LINE_SMOOTH |
B | IsEnabled |
\glc{FALSE} | Line antialiasing on | line/enable |
LINE_STIPPLE_PATTERN |
Z+ | GetIntegerv |
1's | Line stipple | line |
LINE_STIPPLE_REPEAT |
Z+ | GetIntegerv |
1 | Line stipple repeat | line |
LINE_STIPPLE |
B | IsEnabled |
\glc{FALSE} | Line stipple enable | line/enable |
§ Rasterization (cont.) |
|||||
CULL_FACE |
B | IsEnabled |
\glc{FALSE} | Polygon culling enabled | polygon/enable |
CULL_FACE_MODE |
E | GetIntegerv |
\glc{BACK} | Cull front-/back-facing polygons | polygon |
FRONT_FACE |
E | GetIntegerv |
\glc{CCW} | Polygon frontface CW/CCW indicator | polygon |
POLYGON_SMOOTH |
B | IsEnabled |
\glc{FALSE} | Polygon antialiasing on | polygon/enable |
POLYGON_MODE |
2 × E | GetIntegerv |
\glc{FILL} | Polygon rasterization mode (front \& back) | polygon |
POLYGON_MODE |
E | GetIntegerv |
\glc{FILL} | Polygon rasterization mode (front \& back) | polygon |
POLYGON_OFFSET_CLAMP |
R | GetFloatv |
0 | Polygon offset clamp | polygon |
POLYGON_OFFSET_FACTOR |
R | GetFloatv |
0 | Polygon offset factor | polygon |
POLYGON_OFFSET_UNITS |
R | GetFloatv |
0 | Polygon offset units | polygon |
POLYGON_OFFSET_POINT |
B | IsEnabled |
\glc{FALSE} | Polygon offset enable for \glc{POINT} mode rasterization | polygon/enable |
POLYGON_OFFSET_LINE |
B | IsEnabled |
\glc{FALSE} | Polygon offset enable for \glc{LINE} mode rasterization | polygon/enable |
POLYGON_OFFSET_FILL |
B | IsEnabled |
\glc{FALSE} | Polygon offset enable for \glc{FILL} mode rasterization | polygon/enable |
— | I | GetPolygonStipple |
1's | Polygon stipple | polygon-stipple |
POLYGON_STIPPLE |
B | IsEnabled |
\glc{FALSE} | Polygon stipple enable | polygon/enable |
§ Multisampling |
|||||
MULTISAMPLE |
B | IsEnabled |
\glc{TRUE} | Multisample rasterization | multisample/enable |
SAMPLE_ALPHA_TO_COVERAGE |
B | IsEnabled |
\glc{FALSE} | Modify coverage from alpha | multisample/enable |
SAMPLE_ALPHA_TO_ONE |
B | IsEnabled |
\glc{FALSE} | Set alpha to max | multisample/enable |
SAMPLE_COVERAGE |
B | IsEnabled |
\glc{FALSE} | Mask to modify coverage | multisample/enable |
SAMPLE_COVERAGE_VALUE |
R+ | GetFloatv |
1 | Coverage mask value | multisample |
SAMPLE_COVERAGE_INVERT |
B | GetBooleanv |
\glc{FALSE} | Invert coverage mask value | multisample |
SAMPLE_SHADING |
B | IsEnabled |
\glc{FALSE} | Sample shading enable | multisample/enable |
MIN_SAMPLE_SHADING_VALUE |
R+ | GetFloatv |
0 | Fraction of multisamples to use for sample shading | multisample |
SAMPLE_MASK |
B | IsEnabled |
\glc{FALSE} | Additional sample mask | — |
SAMPLE_MASK_VALUE |
n × Z+ |
GetIntegeri_v |
All bits of all words set | Additional sample mask value | — |
§ Textures (state per texture unit) |
|||||
TEXTURE_1D |
MAX_TEXTURE_COORDS × B |
IsEnabled |
\glc{FALSE} | True if 1D texturing is enabled | texture/enable |
TEXTURE_2D |
MAX_TEXTURE_COORDS × B |
IsEnabled |
\glc{FALSE} | True if 2D texturing is enabled | texture/enable |
TEXTURE_3D |
MAX_TEXTURE_COORDS × B |
IsEnabled |
\glc{FALSE} | True if 3D texturing is enabled | texture/enable |
TEXTURE_CUBE_MAP |
MAX_TEXTURE_COORDS × B |
IsEnabled |
\glc{FALSE} | True if cube map texturing is enabled | texture/enable |
TEXTURE_RECTANGLE |
MAX_TEXTURE_COORDS × B |
IsEnabled |
\glc{FALSE} | True if rectangle texturing is enabled | texture/enable |
TEXTURE_BINDING_1D |
MAX_COMBINED_TEXTURE_IMAGE_UNITS × Z+ |
GetIntegerv |
0 | Texture object bound to \enum{TEXTURE_1D} | texture |
TEXTURE_BINDING_2D |
MAX_COMBINED_TEXTURE_IMAGE_UNITS × Z+ |
GetIntegerv |
0 | Texture object bound to \enum{TEXTURE_2D} | texture |
TEXTURE_BINDING_3D |
MAX_COMBINED_TEXTURE_IMAGE_UNITS × Z+ |
GetIntegerv |
0 | Texture object bound to \enum{TEXTURE_3D} | texture |
TEXTURE_BINDING_1D_ARRAY |
MAX_COMBINED_TEXTURE_IMAGE_UNITS × Z+ |
GetIntegerv |
0 | Texture object bound to \glc{TEXTURE_1D_ARRAY} | texture |
TEXTURE_BINDING_2D_ARRAY |
MAX_COMBINED_TEXTURE_IMAGE_UNITS × Z+ |
GetIntegerv |
0 | Texture object bound to \glc{TEXTURE_2D_ARRAY} | texture |
TEXTURE_BINDING_CUBE_MAP_ARRAY |
MAX_COMBINED_TEXTURE_IMAGE_UNITS × Z+ |
GetIntegerv |
0 | Texture object bound to \glc{TEXTURE_CUBE_MAP_ARRAY} | texture |
TEXTURE_BINDING_RECTANGLE |
MAX_COMBINED_TEXTURE_IMAGE_UNITS × Z+ |
GetIntegerv |
0 | Texture object bound to \glc{TEXTURE_RECTANGLE} | texture |
TEXTURE_BINDING_BUFFER |
MAX_COMBINED_TEXTURE_IMAGE_UNITS × Z+ |
GetIntegerv |
0 | Texture object bound to \glc{TEXTURE_BUFFER} | texture |
TEXTURE_BINDING_CUBE_MAP |
MAX_COMBINED_TEXTURE_IMAGE_UNITS × Z+ |
GetIntegerv |
0 | Texture object bound to \glc{TEXTURE_CUBE_MAP} | texture |
TEXTURE_BINDING_2D_MULTISAMPLE |
MAX_COMBINED_TEXTURE_IMAGE_UNITS × Z+ |
GetIntegerv |
0 | Texture object bound to \glc{TEXTURE_2D_MULTISAMPLE} | — |
TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY |
MAX_COMBINED_TEXTURE_IMAGE_UNITS × Z+ |
GetIntegerv |
0 | Texture object bound to \glc{TEXTURE_2D_MULTISAMPLE_ARRAY} | — |
§ Textures (state per texture unit) (cont.) |
|||||
SAMPLER_BINDING |
MAX_COMBINED_TEXTURE_IMAGE_UNITS × Z+ |
GetIntegerv |
0 | Sampler object bound to active texture unit | — |
TEXTURE_1D |
0* × I | GetTexImage |
See ch.~\ref{texturing} | 1D texture image at l.o.d. $i$ | — |
TEXTURE_2D |
0* × I | GetTexImage |
See ch.~\ref{texturing} | 2D texture image at l.o.d. $i$ | — |
TEXTURE_3D |
0* × I | GetTexImage |
See ch.~\ref{texturing} | 3D texture image at l.o.d. $i$ | — |
TEXTURE_1D_ARRAY |
0* × I | GetTexImage |
See ch.~\ref{texturing} | 1D texture image at row $i$ | — |
TEXTURE_2D_ARRAY |
0* × I | GetTexImage |
See ch.~\ref{texturing} | 2D texture image at slice $i$ | — |
TEXTURE_CUBE_MAP_ARRAY |
0* × I | GetTexImage |
See ch.~\ref{texturing} | Cube map array texture image at l.o.d. $i$ | — |
TEXTURE_RECTANGLE |
0* × I | GetTexImage |
See ch.~\ref{texturing} | Rectangle texture image at l.o.d. zero | — |
TEXTURE_CUBE_MAP_POSITIVE_X |
0* × I | GetTexImage |
See sec.~\ref{tex:spec} | $+x$ face cube map texture image at l.o.d. $i$ | — |
TEXTURE_CUBE_MAP_NEGATIVE_X |
0* × I | GetTexImage |
See sec.~\ref{tex:spec} | $-x$ face cube map texture image at l.o.d. $i$ | — |
TEXTURE_CUBE_MAP_POSITIVE_Y |
0* × I | GetTexImage |
See sec.~\ref{tex:spec} | $+y$ face cube map texture image at l.o.d. $i$ | — |
TEXTURE_CUBE_MAP_NEGATIVE_Y |
0* × I | GetTexImage |
See sec.~\ref{tex:spec} | $-y$ face cube map texture image at l.o.d. $i$ | — |
TEXTURE_CUBE_MAP_POSITIVE_Z |
0* × I | GetTexImage |
See sec.~\ref{tex:spec} | $+z$ face cube map texture image at l.o.d. $i$ | — |
TEXTURE_CUBE_MAP_NEGATIVE_Z |
0* × I | GetTexImage |
See sec.~\ref{tex:spec} | $-z$ face cube map texture image at l.o.d. $i$ | — |
§ Textures (state per texture object) |
|||||
TEXTURE_SWIZZLE_R |
E | GetTexParameteriv |
\glc{RED} | Red component swizzle | texture |
TEXTURE_SWIZZLE_G |
E | GetTexParameteriv |
\glc{GREEN} | Green component swizzle | texture |
TEXTURE_SWIZZLE_B |
E | GetTexParameteriv |
\glc{BLUE} | Blue component swizzle | texture |
TEXTURE_SWIZZLE_A |
E | GetTexParameteriv |
\glc{ALPHA} | Alpha component swizzle | texture |
TEXTURE_BORDER_COLOR |
C | GetTexParameterfv |
0.0,0.0,0.0,0.0 | Border color | texture |
TEXTURE_MIN_FILTER |
E | GetTexParameteriv |
See sec.~\ref{tex:state} | Minification function | texture |
TEXTURE_MAG_FILTER |
E | GetTexParameteriv |
\glc{LINEAR} | Magnification function | texture |
TEXTURE_WRAP_S |
E | GetTexParameteriv |
See sec.~\ref{tex:state} | Texcoord $s$ wrap mode | texture |
TEXTURE_WRAP_T |
E | GetTexParameteriv |
See sec.~\ref{tex:state} | Texcoord $t$ wrap mode (2D, 3D, cube map textures only) | texture |
TEXTURE_WRAP_R |
E | GetTexParameteriv |
See sec.~\ref{tex:state} | Texcoord $r$ wrap mode (3D textures only) | texture |
TEXTURE_TARGET |
E | GetTextureParameteriv |
\glc{NONE} | Target of texture object | — |
TEXTURE_PRIORITY |
R[0,1] | GetTexParameterfv |
1 | Texture object priority | texture |
TEXTURE_RESIDENT |
B | GetTexParameteriv |
See sec.\ref{tex:object} | Texture residency | texture |
TEXTURE_MIN_LOD |
R | GetTexParameterfv |
-1000 | Min level-of-detail | texture |
TEXTURE_MAX_LOD |
R | GetTexParameterfv |
1000 | Max. level-of-detail | texture |
TEXTURE_BASE_LEVEL |
Z+ | GetTexParameterfv |
0 | Base texture array | texture |
TEXTURE_MAX_LEVEL |
Z+ | GetTexParameterfv |
1000 | Max. texture array level | texture |
TEXTURE_LOD_BIAS |
R | GetTexParameterfv |
0.0 | Texture level-of-detail bias ($\lodobjbias$) | texture |
§ Textures (state per texture object) (cont.) |
|||||
DEPTH_TEXTURE_MODE |
E | GetTexParameteriv |
\glc{LUMINANCE} | Depth texture mode | texture |
DEPTH_STENCIL_TEXTURE_MODE |
E | GetTexParameteriv |
\glc{DEPTH_COMPONENT} | Depth stencil texture mode | — |
TEXTURE_COMPARE_MODE |
E | GetTexParameteriv |
\glc{NONE} | Comparison mode | texture |
TEXTURE_COMPARE_FUNC |
E | GetTexParameteriv |
\glc{LEQUAL} | Comparison function | texture |
GENERATE_MIPMAP |
B | GetTexParameteriv |
\glc{FALSE} | Automatic mipmap generation enabled | texture |
IMAGE_FORMAT_COMPATIBILITY_TYPE |
E | GetTexParameteriv |
See sec.~\ref{tex:loadstore} | Compatibility rules for texture use with image units | texture |
TEXTURE_IMMUTABLE_FORMAT |
B | GetTexParameteriv |
\glc{FALSE} | Size and format immutable | — |
TEXTURE_IMMUTABLE_LEVELS |
Z+ | GetTexParameteriv |
0 | Storage no. of levels | texture |
TEXTURE_VIEW_MIN_LEVEL |
Z+ | GetTexParameteriv |
0 | View base texture level | texture |
TEXTURE_VIEW_NUM_LEVELS |
Z+ | GetTexParameteriv |
0 | View no. of texture levels | texture |
TEXTURE_VIEW_MIN_LAYER |
Z+ | GetTexParameteriv |
0 | View min array layer | texture |
TEXTURE_VIEW_NUM_LAYERS |
Z+ | GetTexParameteriv |
0 | View no. of array layers | texture |
— | S | GetObjectLabel |
empty | Debug label | — |
TEXTURE_MAX_ANISOTROPY |
R | GetTexParameterfv |
1.0 | Maximum degree of anisotropy | texture |
§ Textures (state per texture image) |
|||||
TEXTURE_WIDTH |
Z+ | GetTexLevelParameteriv |
0 | Specified width | — |
TEXTURE_HEIGHT |
Z+ | GetTexLevelParameteriv |
0 | Specified height (2D/3D) | — |
TEXTURE_DEPTH |
Z+ | GetTexLevelParameteriv |
0 | Specified depth (3D) | — |
TEXTURE_BORDER |
Z+ | GetTexLevelParameteriv |
0 | Specified border width | — |
TEXTURE_SAMPLES |
Z+ | GetTexLevelParameteriv |
0 | No. of samples per texel | — |
TEXTURE_FIXED_SAMPLE_LOCATIONS |
B | GetTexLevelParameteriv |
\glc{TRUE} | Whether the image uses a fixed sample pattern | — |
TEXTURE_INTERNAL_FORMAT orTEXTURE_COMPONENTS |
E | GetTexLevelParameteriv |
1 or \glc{LUMINANCE8} | Internal format (see section~\ref{tex:state} | — |
TEXTURE_INTERNAL_FORMAT |
E | GetTexLevelParameteriv |
\glc{RGBA} or \glc{R8} | Internal format (see section~\ref{tex:state}) | — |
TEXTURE_RED_SIZE |
Z+ | GetTexLevelParameteriv |
0 | Component resolution | — |
TEXTURE_GREEN_SIZE |
Z+ | GetTexLevelParameteriv |
0 | Component resolution | — |
TEXTURE_BLUE_SIZE |
Z+ | GetTexLevelParameteriv |
0 | Component resolution | — |
TEXTURE_ALPHA_SIZE |
Z+ | GetTexLevelParameteriv |
0 | Component resolution | — |
TEXTURE_LUMINANCE_SIZE |
Z+ | GetTexLevelParameteriv |
0 | Component resolution | — |
TEXTURE_INTENSITY_SIZE |
Z+ | GetTexLevelParameteriv |
0 | Component resolution | — |
TEXTURE_DEPTH_SIZE |
Z+ | GetTexLevelParameteriv |
0 | Component resolution | — |
TEXTURE_STENCIL_SIZE |
Z+ | GetTexLevelParameteriv |
0 | Component resolution | — |
TEXTURE_SHARED_SIZE |
Z+ | GetTexLevelParameteriv |
0 | Shared exponent field resolution | — |
TEXTURE_RED_TYPE |
E | GetTexLevelParameteriv |
\glc{NONE} | Component type | — |
TEXTURE_GREEN_TYPE |
E | GetTexLevelParameteriv |
\glc{NONE} | Component type | — |
TEXTURE_BLUE_TYPE |
E | GetTexLevelParameteriv |
\glc{NONE} | Component type | — |
TEXTURE_ALPHA_TYPE |
E | GetTexLevelParameteriv |
\glc{NONE} | Component type | — |
TEXTURE_LUMINANCE_TYPE |
E | GetTexLevelParameteriv |
\glc{NONE} | Component type | — |
TEXTURE_INTENSITY_TYPE |
E | GetTexLevelParameteriv |
\glc{NONE} | Component type | — |
TEXTURE_DEPTH_TYPE |
E | GetTexLevelParameteriv |
\glc{NONE} | Component type | — |
§ Textures (state per texture image) (cont.) |
|||||
TEXTURE_COMPRESSED |
B | GetTexLevelParameteriv |
\glc{FALSE} | True if image has a compressed internal format | — |
TEXTURE_COMPRESSED_IMAGE_SIZE |
Z+ | GetTexLevelParameteriv |
0 | Size (in \glt{ubyte}\/s) of compressed image | — |
TEXTURE_BUFFER_DATA_STORE_BINDING |
Z+ | GetTexLevelParameteriv |
0 | Buffer object bound as the data store for the active image unit's buffer texture | texture |
TEXTURE_BUFFER_OFFSET |
n × Z |
GetTexLevelParameteriv |
0 | Offset into buffer's data store used for the active image unit's buffer texture | — |
TEXTURE_BUFFER_SIZE |
n × Z |
GetTexLevelParameteriv |
0 | Size of the buffer's data store used for the active image unit's buffer texture | — |
§ Textures (state per sampler object) |
|||||
TEXTURE_BORDER_COLOR |
C | GetSamplerParameterfv |
0.0,0.0,0.0,0.0 | Border color | — |
TEXTURE_COMPARE_FUNC |
E | GetSamplerParameteriv |
\glc{LEQUAL} | Comparison function | — |
TEXTURE_COMPARE_MODE |
E | GetSamplerParameteriv |
\glc{NONE} | Comparison mode | — |
TEXTURE_LOD_BIAS |
R | GetSamplerParameterfv |
0.0 | Texture level-of-detail bias ($\lodobjbias$) | — |
TEXTURE_MAX_LOD |
R | GetSamplerParameterfv |
1000 | Max. level-of-detail | — |
TEXTURE_MAG_FILTER |
E | GetSamplerParameteriv |
\glc{LINEAR} | Magnification function | — |
TEXTURE_MIN_FILTER |
E | GetSamplerParameteriv |
\glc{NEAREST_MIPMAP_LINEAR} | Minification function | — |
TEXTURE_MIN_LOD |
R | GetSamplerParameterfv |
-1000 | Min level-of-detail | — |
TEXTURE_MAX_ANISOTROPY |
R | GetSamplerParameterfv |
1.0 | Maximum degree of anisotropy | texture |
TEXTURE_WRAP_S |
E | GetSamplerParameteriv |
\glc{REPEAT} | Texcoord $s$ wrap mode | — |
TEXTURE_WRAP_T |
E | GetSamplerParameteriv |
\glc{REPEAT} | Texcoord $t$ wrap mode (2D, 3D, cube map textures only) | — |
TEXTURE_WRAP_R |
E | GetSamplerParameteriv |
\glc{REPEAT} | Texcoord $r$ wrap mode (3D textures only) | — |
— | S | GetObjectLabel |
empty | Debug label | — |
§ Texture Environment and Generation |
|||||
ACTIVE_TEXTURE |
E | GetIntegerv |
\glc{TEXTURE0} | Active texture unit selector | texture |
COORD_REPLACE |
MAX_TEXTURE_UNITS × B |
GetTexEnviv |
\glc{FALSE} | Coordinate replacement enable | point |
TEXTURE_ENV_MODE |
MAX_TEXTURE_UNITS × E |
GetTexEnviv |
\glc{MODULATE} | Texture application function | texture |
TEXTURE_ENV_COLOR |
MAX_TEXTURE_UNITS × C |
GetTexEnvfv |
0.0,0.0,0.0,0.0 | Texture environment color | texture |
TEXTURE_LOD_BIAS |
MAX_TEXTURE_UNITS × R |
GetTexEnvfv |
0.0 | Texture level-of-detail bias $\lodunitbias$ | texture |
TEXTURE_GEN_S |
MAX_TEXTURE_UNITS × B |
IsEnabled |
\glc{FALSE} | Texgen enabled | texture/enable |
TEXTURE_GEN_T |
MAX_TEXTURE_UNITS × B |
IsEnabled |
\glc{FALSE} | Texgen enabled | texture/enable |
TEXTURE_GEN_R |
MAX_TEXTURE_UNITS × B |
IsEnabled |
\glc{FALSE} | Texgen enabled | texture/enable |
TEXTURE_GEN_Q |
MAX_TEXTURE_UNITS × B |
IsEnabled |
\glc{FALSE} | Texgen enabled | texture/enable |
EYE_PLANE |
MAX_TEXTURE_UNITS × 4 × R4 |
GetTexGenfv |
See sec.~\ref{texgen} | Texgen plane equation coefficients (for S, T, R, and Q) | texture |
OBJECT_PLANE |
MAX_TEXTURE_UNITS × 4 × R4 |
GetTexGenfv |
See sec.~\ref{texgen} | Texgen object linear coefficients (for S, T, R, and Q) | texture |
TEXTURE_GEN_MODE |
MAX_TEXTURE_UNITS × 4 × E |
GetTexGeniv |
\glc{EYE_LINEAR} | Function used for texgen (for S, T, R, and Q | texture |
COMBINE_RGB |
MAX_TEXTURE_UNITS × E |
GetTexEnviv |
\glc{MODULATE} | RGB combiner function | texture |
COMBINE_ALPHA |
MAX_TEXTURE_UNITS × E |
GetTexEnviv |
\glc{MODULATE} | Alpha combiner function | texture |
§ Texture Environment and Generation (cont.) |
|||||
SRC0_RGB |
MAX_TEXTURE_UNITS × E |
GetTexEnviv |
\glc{TEXTURE} | RGB source 0 | texture |
SRC1_RGB |
MAX_TEXTURE_UNITS × E |
GetTexEnviv |
\glc{PREVIOUS} | RGB source 1 | texture |
SRC2_RGB |
MAX_TEXTURE_UNITS × E |
GetTexEnviv |
\glc{CONSTANT} | RGB source 2 | texture |
SRC0_ALPHA |
MAX_TEXTURE_UNITS × E |
GetTexEnviv |
\glc{TEXTURE} | Alpha source 0 | texture |
SRC1_ALPHA |
MAX_TEXTURE_UNITS × E |
GetTexEnviv |
\glc{PREVIOUS} | Alpha source 1 | texture |
SRC2_ALPHA |
MAX_TEXTURE_UNITS × E |
GetTexEnviv |
\glc{CONSTANT} | Alpha source 2 | texture |
OPERAND0_RGB |
MAX_TEXTURE_UNITS × E |
GetTexEnviv |
\glc{SRC_COLOR} | RGB operand 0 | texture |
OPERAND1_RGB |
MAX_TEXTURE_UNITS × E |
GetTexEnviv |
\glc{SRC_COLOR} | RGB operand 1 | texture |
OPERAND2_RGB |
MAX_TEXTURE_UNITS × E |
GetTexEnviv |
\glc{SRC_ALPHA} | RGB operand 2 | texture |
OPERAND0_ALPHA |
MAX_TEXTURE_UNITS × E |
GetTexEnviv |
\glc{SRC_ALPHA} | Alpha operand 0 | texture |
OPERAND1_ALPHA |
MAX_TEXTURE_UNITS × E |
GetTexEnviv |
\glc{SRC_ALPHA} | Alpha operand 1 | texture |
OPERAND2_ALPHA |
MAX_TEXTURE_UNITS × E |
GetTexEnviv |
\glc{SRC_ALPHA} | Alpha operand 2 | texture |
RGB_SCALE |
MAX_TEXTURE_UNITS × R3 |
GetTexEnvfv |
1.0 | RGB post-combiner scaling | texture |
ALPHA_SCALE |
MAX_TEXTURE_UNITS × R3 |
GetTexEnvfv |
1.0 | Alpha post-combiner scaling | texture |
§ Pixel Operations |
|||||
SCISSOR_TEST |
16* × B | IsEnabledi |
\glc{FALSE} | Scissoring enabled | scissor/enable |
SCISSOR_BOX |
16* × 4 × Z | GetIntegeri_v |
See sec.~\ref{scissor} | Scissor box | scissor |
ALPHA_TEST |
B | IsEnabled |
\glc{FALSE} | Alpha test enabled | color-buffer/enable |
ALPHA_TEST_FUNC |
E | GetIntegerv |
\glc{ALWAYS} | Alpha test function | color-buffer |
ALPHA_TEST_REF |
R+ | GetFloatv |
0 | Alpha test reference value | color-buffer |
STENCIL_TEST |
B | IsEnabled |
\glc{FALSE} | Stenciling enabled | stencil-buffer/enable |
STENCIL_FUNC |
E | GetIntegerv |
\glc{ALWAYS} | Front stencil function | stencil-buffer |
STENCIL_VALUE_MASK |
Z+ | GetIntegerv |
See sec.~\ref{stencil} | Front stencil mask | stencil-buffer |
STENCIL_REF |
Z+ | GetIntegerv |
0 | Front stencil reference value | stencil-buffer |
STENCIL_FAIL |
E | GetIntegerv |
\glc{KEEP} | Front stencil fail action | stencil-buffer |
STENCIL_PASS_DEPTH_FAIL |
E | GetIntegerv |
\glc{KEEP} | Front stencil depth buffer fail action | stencil-buffer |
STENCIL_PASS_DEPTH_PASS |
E | GetIntegerv |
\glc{KEEP} | Front stencil depth buffer pass action | stencil-buffer |
STENCIL_BACK_FUNC |
E | GetIntegerv |
\glc{ALWAYS} | Back stencil function | stencil-buffer |
STENCIL_BACK_VALUE_MASK |
Z+ | GetIntegerv |
See sec.~\ref{stencil} | Back stencil mask | stencil-buffer |
STENCIL_BACK_REF |
Z+ | GetIntegerv |
0 | Back stencil reference value | stencil-buffer |
STENCIL_BACK_FAIL |
E | GetIntegerv |
\glc{KEEP} | Back stencil fail action | stencil-buffer |
STENCIL_BACK_PASS_DEPTH_FAIL |
E | GetIntegerv |
\glc{KEEP} | Back stencil depth buffer fail action | stencil-buffer |
STENCIL_BACK_PASS_DEPTH_PASS |
E | GetIntegerv |
\glc{KEEP} | Back stencil depth buffer pass action | stencil-buffer |
DEPTH_TEST |
B | IsEnabled |
\glc{FALSE} | Depth buffer enabled | depth-buffer/enable |
DEPTH_FUNC |
E | GetIntegerv |
\glc{LESS} | Depth buffer test function | depth-buffer |
§ Pixel Operations (cont.) |
|||||
BLEND |
MAX_DRAW_BUFFERS × B |
IsEnabledi |
\glc{FALSE} | Blending enabled for draw buffer $i$ | color-buffer/enable |
BLEND_SRC_RGB |
MAX_DRAW_BUFFERS × E |
GetIntegeri_v |
\glc{ONE} | Blending source RGB function for draw buffer $i$ | color-buffer |
BLEND_SRC_ALPHA |
MAX_DRAW_BUFFERS × E |
GetIntegeri_v |
\glc{ONE} | Blending source A function for draw buffer $i$ | color-buffer |
BLEND_DST_RGB |
MAX_DRAW_BUFFERS × E |
GetIntegeri_v |
\glc{ZERO} | Blending dest. RGB function for draw buffer $i$ | color-buffer |
BLEND_DST_ALPHA |
MAX_DRAW_BUFFERS × E |
GetIntegeri_v |
\glc{ZERO} | Blending dest. A function for draw buffer $i$ | color-buffer |
BLEND_EQUATION_RGB |
MAX_DRAW_BUFFERS × E |
GetIntegeri_v |
\glc{FUNC_ADD} | RGB blending equation for draw buffer $i$ | color-buffer |
BLEND_EQUATION_ALPHA |
MAX_DRAW_BUFFERS × E |
GetIntegeri_v |
\glc{FUNC_ADD} | Alpha blending equation for draw buffer $i$ | color-buffer |
BLEND_COLOR |
C | GetFloatv |
0.0,0.0,0.0,0.0 | Constant blend color | color-buffer |
FRAMEBUFFER_SRGB |
B | IsEnabled |
\glc{FALSE} | sRGB update and blending enable | color-buffer/enable |
DITHER |
B | IsEnabled |
\glc{TRUE} | Dithering enabled | color-buffer/enable |
INDEX_LOGIC_OP |
B | IsEnabled |
\glc{FALSE} | Index logic op enabled | color-buffer/enable |
COLOR_LOGIC_OP |
B | IsEnabled |
\glc{FALSE} | Color logic op enabled | color-buffer/enable |
LOGIC_OP_MODE |
E | GetIntegerv |
\glc{COPY} | Logic op function | color-buffer |
§ Framebuffer Control |
|||||
INDEX_WRITEMASK |
Z+ | GetIntegerv |
1's | Color index writemask | color-buffer |
COLOR_WRITEMASK |
MAX_DRAW_BUFFERS × 4 × B |
GetBooleani_v |
(\glc{TRUE},\glc{TRUE},\glc{TRUE},\glc{TRUE}) | Color write enables (R,G,B,A) for draw buffer $i$ | color-buffer |
DEPTH_WRITEMASK |
B | GetBooleanv |
\glc{TRUE} | Depth buffer enabled for writing | depth-buffer |
STENCIL_WRITEMASK |
Z+ | GetIntegerv |
1's | Front stencil buffer writemask | stencil-buffer |
STENCIL_BACK_WRITEMASK |
Z+ | GetIntegerv |
1's | Back stencil buffer writemask | stencil-buffer |
COLOR_CLEAR_VALUE |
C | GetFloatv |
0.0,0.0,0.0,0.0 | Color buffer clear value (RGBA mode) | color-buffer |
COLOR_CLEAR_VALUE |
C | GetFloatv |
0.0,0.0,0.0,0.0 | Color buffer clear value | color-buffer |
INDEX_CLEAR_VALUE |
CI | GetFloatv |
0 | Color buffer clear value (color index mode) | color-buffer |
DEPTH_CLEAR_VALUE |
R+ | GetFloatv |
1 | Depth buffer clear value | depth-buffer |
STENCIL_CLEAR_VALUE |
Z+ | GetIntegerv |
0 | Stencil clear value | stencil-buffer |
ACCUM_CLEAR_VALUE |
4 × R+ | GetFloatv |
0 | Accumulation buffer clear value | accum-buffer |
§ Framebuffer (state per target binding point) |
|||||
DRAW_FRAMEBUFFER_BINDING |
Z+ | GetIntegerv |
0 | Framebuffer object bound to \glc{DRAW_FRAMEBUFFER} | — |
READ_FRAMEBUFFER_BINDING |
Z+ | GetIntegerv |
0 | Framebuffer object bound to \glc{READ_FRAMEBUFFER} | — |
§ Framebuffer (state per framebuffer object)
|
|||||
DRAW_BUFFER0 …DRAW_BUFFER0 + (n-1)where n ≥ MAX_DRAW_BUFFERS |
n × E | GetIntegerv |
See sec.~\ref{setbuffers} | Draw buffer selected for color output $i$ | color-buffer |
READ_BUFFER |
E | GetIntegerv |
See sec.~\ref{pix:read} | Read source buffer† | pixel |
FRAMEBUFFER_DEFAULT_WIDTH |
Z+ | GetFramebufferParameteriv |
0 | Default width of framebuffer w/o attachments | — |
FRAMEBUFFER_DEFAULT_HEIGHT |
Z+ | GetFramebufferParameteriv |
0 | Default height of framebuffer w/o attachments | — |
FRAMEBUFFER_DEFAULT_LAYERS |
Z+ | GetFramebufferParameteriv |
0 | Default layer count of framebuffer w/o attachments | — |
FRAMEBUFFER_DEFAULT_SAMPLES |
Z+ | GetFramebufferParameteriv |
0 | Default sample count of framebuffer w/o attachments | — |
FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS |
B | GetFramebufferParameteriv |
\glc{FALSE} | Default sample location pattern of framebuffer w/o attachments | — |
— | S | GetObjectLabel |
empty | Debug label | — |
§ Framebuffer (state per attachment point) |
|||||
FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE |
E | GetFramebufferAttachmentParameteriv |
\glc{NONE} | Type of image attached to framebuffer attachment point | — |
FRAMEBUFFER_ATTACHMENT_OBJECT_NAME |
Z+ | GetFramebufferAttachmentParameteriv |
0 | Name of object attached to framebuffer attachment point | — |
FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL |
Z+ | GetFramebufferAttachmentParameteriv |
0 | Mipmap level of texture image attached, if object attached is texture | — |
FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE |
E | GetFramebufferAttachmentParameteriv |
\glc{NONE} | Cubemap face of texture image attached, if object attached is cubemap texture | — |
FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER |
Z | GetFramebufferAttachmentParameteriv |
0 | Layer of texture image attached, if object attached is 3D texture | — |
FRAMEBUFFER_ATTACHMENT_LAYERED |
B | GetFramebufferAttachmentParameteriv |
\glc{FALSE} | Framebuffer attachment is layered | — |
FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING |
E | GetFramebufferAttachmentParameteriv |
— | Encoding of components in the attached image | — |
FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE |
E | GetFramebufferAttachmentParameteriv |
— | Data type of components in the attached image | — |
FRAMEBUFFER_ATTACHMENT_RED_SIZE |
Z+ | GetFramebufferAttachmentParameteriv |
— | Size in bits of attached image's RED component | — |
FRAMEBUFFER_ATTACHMENT_GREEN_SIZE |
Z+ | GetFramebufferAttachmentParameteriv |
— | Size in bits of attached image's GREEN component | — |
FRAMEBUFFER_ATTACHMENT_BLUE_SIZE |
Z+ | GetFramebufferAttachmentParameteriv |
— | Size in bits of attached image's BLUE component | — |
FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE |
Z+ | GetFramebufferAttachmentParameteriv |
— | Size in bits of attached image's ALPHA component | — |
FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE |
Z+ | GetFramebufferAttachmentParameteriv |
— | Size in bits of attached image's DEPTH component | — |
FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE |
Z+ | GetFramebufferAttachmentParameteriv |
— | Size in bits of attached image's STENCIL component | — |
§ Renderbuffer (state per target and binding point) |
|||||
RENDERBUFFER_BINDING |
Z | GetIntegerv |
0 | Renderbuffer object bound to \glc{RENDERBUFFER} | — |
§ Renderbuffer (state per renderbuffer object) |
|||||
RENDERBUFFER_WIDTH |
Z+ | GetRenderbufferParameteriv |
0 | Width of renderbuffer | — |
RENDERBUFFER_HEIGHT |
Z+ | GetRenderbufferParameteriv |
0 | Height of renderbuffer | — |
RENDERBUFFER_INTERNAL_FORMAT |
E | GetRenderbufferParameteriv |
\glc{RGBA} | Internal format of renderbuffer | — |
RENDERBUFFER_RED_SIZE |
Z+ | GetRenderbufferParameteriv |
0 | Size in bits of renderbuffer image's red component | — |
RENDERBUFFER_GREEN_SIZE |
Z+ | GetRenderbufferParameteriv |
0 | Size in bits of renderbuffer image's green component | — |
RENDERBUFFER_BLUE_SIZE |
Z+ | GetRenderbufferParameteriv |
0 | Size in bits of renderbuffer image's blue component | — |
RENDERBUFFER_ALPHA_SIZE |
Z+ | GetRenderbufferParameteriv |
0 | Size in bits of renderbuffer image's alpha component | — |
RENDERBUFFER_DEPTH_SIZE |
Z+ | GetRenderbufferParameteriv |
0 | Size in bits of renderbuffer image's depth component | — |
RENDERBUFFER_STENCIL_SIZE |
Z+ | GetRenderbufferParameteriv |
0 | Size in bits of renderbuffer image's stencil component | — |
RENDERBUFFER_SAMPLES |
Z+ | GetRenderbufferParameteriv |
0 | No. of samples | — |
— | S | GetObjectLabel |
empty | Debug label | — |
§ Pixels |
|||||
UNPACK_SWAP_BYTES |
B | GetBooleanv |
\glc{FALSE} | Value of \glc{UNPACK_SWAP_BYTES} | pixel-store |
UNPACK_LSB_FIRST |
B | GetBooleanv |
\glc{FALSE} | Value of \glc{UNPACK_LSB_FIRST} | pixel-store |
UNPACK_IMAGE_HEIGHT |
Z+ | GetIntegerv |
0 | Value of \glc{UNPACK_IMAGE_HEIGHT} | pixel-store |
UNPACK_SKIP_IMAGES |
Z+ | GetIntegerv |
0 | Value of \glc{UNPACK_SKIP_IMAGES} | pixel-store |
UNPACK_ROW_LENGTH |
Z+ | GetIntegerv |
0 | Value of \glc{UNPACK_ROW_LENGTH} | pixel-store |
UNPACK_SKIP_ROWS |
Z+ | GetIntegerv |
0 | Value of \glc{UNPACK_SKIP_ROWS} | pixel-store |
UNPACK_SKIP_PIXELS |
Z+ | GetIntegerv |
0 | Value of \glc{UNPACK_SKIP_PIXELS} | pixel-store |
UNPACK_ALIGNMENT |
Z+ | GetIntegerv |
4 | Value of \glc{UNPACK_ALIGNMENT} | pixel-store |
UNPACK_COMPRESSED_BLOCK_WIDTH |
Z+ | GetIntegerv |
0 | Value of \glc{UNPACK_COMPRESSED_BLOCK_WIDTH} | — |
UNPACK_COMPRESSED_BLOCK_HEIGHT |
Z+ | GetIntegerv |
0 | Value of \glc{UNPACK_COMPRESSED_BLOCK_HEIGHT} | — |
UNPACK_COMPRESSED_BLOCK_DEPTH |
Z+ | GetIntegerv |
0 | Value of \glc{UNPACK_COMPRESSED_BLOCK_DEPTH} | — |
UNPACK_COMPRESSED_BLOCK_SIZE |
Z+ | GetIntegerv |
0 | Value of \glc{UNPACK_COMPRESSED_BLOCK_SIZE} | — |
PIXEL_UNPACK_BUFFER_BINDING |
Z+ | GetIntegerv |
0 | Pixel unpack buffer binding | pixel-store |
§ Pixels (cont.) |
|||||
PACK_SWAP_BYTES |
B | GetBooleanv |
\glc{FALSE} | Value of \glc{PACK_SWAP_BYTES} | pixel-store |
PACK_LSB_FIRST |
B | GetBooleanv |
\glc{FALSE} | Value of \glc{PACK_LSB_FIRST} | pixel-store |
PACK_IMAGE_HEIGHT |
Z+ | GetIntegerv |
0 | Value of \glc{PACK_IMAGE_HEIGHT} | pixel-store |
PACK_SKIP_IMAGES |
Z+ | GetIntegerv |
0 | Value of \glc{PACK_SKIP_IMAGES} | pixel-store |
PACK_ROW_LENGTH |
Z+ | GetIntegerv |
0 | Value of \glc{PACK_ROW_LENGTH} | pixel-store |
PACK_SKIP_ROWS |
Z+ | GetIntegerv |
0 | Value of \glc{PACK_SKIP_ROWS} | pixel-store |
PACK_SKIP_PIXELS |
Z+ | GetIntegerv |
0 | Value of \glc{PACK_SKIP_PIXELS} | pixel-store |
PACK_ALIGNMENT |
Z+ | GetIntegerv |
4 | Value of \glc{PACK_ALIGNMENT} | pixel-store |
PACK_COMPRESSED_BLOCK_WIDTH |
Z+ | GetIntegerv |
0 | Value of \glc{PACK_COMPRESSED_BLOCK_WIDTH} | — |
PACK_COMPRESSED_BLOCK_HEIGHT |
Z+ | GetIntegerv |
0 | Value of \glc{PACK_COMPRESSED_BLOCK_HEIGHT} | — |
PACK_COMPRESSED_BLOCK_DEPTH |
Z+ | GetIntegerv |
0 | Value of \glc{PACK_COMPRESSED_BLOCK_DEPTH} | — |
PACK_COMPRESSED_BLOCK_SIZE |
Z+ | GetIntegerv |
0 | Value of \glc{PACK_COMPRESSED_BLOCK_SIZE} | — |
PIXEL_PACK_BUFFER_BINDING |
Z+ | GetIntegerv |
0 | Pixel pack buffer binding | pixel-store |
MAP_COLOR |
B | GetBooleanv |
\glc{FALSE} | True if colors are mapped | pixel |
MAP_STENCIL |
B | GetBooleanv |
\glc{FALSE} | True if stencil values are mapped | pixel |
INDEX_SHIFT |
Z | GetIntegerv |
0 | Value of \glc{INDEX_SHIFT} | pixel |
INDEX_OFFSET |
Z | GetIntegerv |
0 | Value of \glc{INDEX_OFFSET} | pixel |
RED_SCALE |
R | GetFloatv |
1 | Value of \enum{RED_SCALE} | pixel |
GREEN_SCALE |
R | GetFloatv |
1 | Value of \enum{GREEN_SCALE} | pixel |
BLUE_SCALE |
R | GetFloatv |
1 | Value of \enum{BLUE_SCALE} | pixel |
ALPHA_SCALE |
R | GetFloatv |
1 | Value of \enum{ALPHA_SCALE} | pixel |
DEPTH_SCALE |
R | GetFloatv |
1 | Value of \enum{DEPTH_SCALE} | pixel |
RED_BIAS |
R | GetFloatv |
0 | Value of \enum{RED_BIAS} | pixel |
GREEN_BIAS |
R | GetFloatv |
0 | Value of \enum{GREEN_BIAS} | pixel |
BLUE_BIAS |
R | GetFloatv |
0 | Value of \enum{BLUE_BIAS} | pixel |
ALPHA_BIAS |
R | GetFloatv |
0 | Value of \enum{ALPHA_BIAS} | pixel |
§ Pixels (cont.) |
|||||
COLOR_TABLE |
B | IsEnabled |
\glc{FALSE} | True if color table lookup is done | pixel/enable |
POST_CONVOLUTION_COLOR_TABLE |
B | IsEnabled |
\glc{FALSE} | True if post convolution color table lookup is done | pixel/enable |
POST_COLOR_MATRIX_COLOR_TABLE |
B | IsEnabled |
\glc{FALSE} | True if post color matrix color table lookup is done | pixel/enable |
COLOR_TABLE |
I | GetColorTable |
\em empty | Color table | — |
POST_CONVOLUTION_COLOR_TABLE |
I | GetColorTable |
\em empty | Post convolution color table | — |
POST_COLOR_MATRIX_COLOR_TABLE |
I | GetColorTable |
\em empty | Post color matrix color table | — |
COLOR_TABLE_FORMAT |
2 × 3 × E | GetColorTableParameteriv |
\glc{RGBA} | Color tables' internal image format | — |
COLOR_TABLE_WIDTH |
2 × 3 × Z+ | GetColorTableParameteriv |
0 | Color tables' specified width | — |
COLOR_TABLE_RED_SIZE |
2 × 3 × Z+ | GetColorTableParameteriv |
0 | Color table component resolution | — |
COLOR_TABLE_GREEN_SIZE |
2 × 3 × Z+ | GetColorTableParameteriv |
0 | Color table component resolution | — |
COLOR_TABLE_BLUE_SIZE |
2 × 3 × Z+ | GetColorTableParameteriv |
0 | Color table component resolution | — |
COLOR_TABLE_ALPHA_SIZE |
2 × 3 × Z+ | GetColorTableParameteriv |
0 | Color table component resolution | — |
COLOR_TABLE_LUMINANCE_SIZE |
2 × 3 × Z+ | GetColorTableParameteriv |
0 | Color table component resolution | — |
COLOR_TABLE_INTENSITY_SIZE |
2 × 3 × Z+ | GetColorTableParameteriv |
0 | Color table component resolution | — |
COLOR_TABLE_SCALE |
3 × R4 | GetColorTableParameterfv |
1,1,1,1 | Scale factors applied to color table entries | pixel |
COLOR_TABLE_BIAS |
3 × R4 | GetColorTableParameterfv |
0,0,0,0 | Bias factors applied to color table entries | pixel |
§ Pixels (cont.) |
|||||
CONVOLUTION_1D |
B | IsEnabled |
\glc{FALSE} | True if 1D convolution is done | pixel/enable |
CONVOLUTION_2D |
B | IsEnabled |
\glc{FALSE} | True if 2D convolution is done | pixel/enable |
SEPARABLE_2D |
B | IsEnabled |
\glc{FALSE} | True if separable 2D convolution is done | pixel/enable |
CONVOLUTION_1D |
2 × I | GetConvolutionFilter |
\em empty | Convolution filters | — |
CONVOLUTION_2D |
2 × I | GetConvolutionFilter |
\em empty | Convolution filters | — |
CONVOLUTION_3D |
2 × I | GetConvolutionFilter |
\em empty | Convolution filters | — |
SEPARABLE_2D |
2 × I | GetSeparableFilter |
\em empty | Separable convolution filter | — |
CONVOLUTION_BORDER_COLOR |
3 × C | GetConvolutionParameterfv |
0.0,0.0,0.0,0.0 | Convolution border color | pixel |
CONVOLUTION_BORDER_MODE |
3 × E | GetConvolutionParameteriv |
\glc{REDUCE} | Convolution border mode | pixel |
CONVOLUTION_FILTER_SCALE |
3 × R4 | GetConvolutionParameterfv |
1,1,1,1 | Scale factors applied to convolution filter entries | pixel |
CONVOLUTION_FILTER_BIAS |
3 × R4 | GetConvolutionParameterfv |
0,0,0,0 | Bias factors applied to convolution filter entries | pixel |
CONVOLUTION_FORMAT |
3 × E | GetConvolutionParameteriv |
\glc{RGBA} | Convolution filter internal format | — |
CONVOLUTION_WIDTH |
3 × Z+ | GetConvolutionParameteriv |
0 | Convolution filter width | — |
CONVOLUTION_HEIGHT |
2 × Z+ | GetConvolutionParameteriv |
0 | Convolution filter height | — |
§ Pixels (cont.) |
|||||
POST_CONVOLUTION_RED_SCALE |
R | GetFloatv |
1 | Component scale factors after convolution | pixel |
POST_CONVOLUTION_GREEN_SCALE |
R | GetFloatv |
1 | Component scale factors after convolution | pixel |
POST_CONVOLUTION_BLUE_SCALE |
R | GetFloatv |
1 | Component scale factors after convolution | pixel |
POST_CONVOLUTION_ALPHA_SCALE |
R | GetFloatv |
1 | Component scale factors after convolution | pixel |
POST_CONVOLUTION_RED_BIAS |
R | GetFloatv |
0 | Component bias factors after convolution | pixel |
POST_CONVOLUTION_GREEN_BIAS |
R | GetFloatv |
0 | Component bias factors after convolution | pixel |
POST_CONVOLUTION_BLUE_BIAS |
R | GetFloatv |
0 | Component bias factors after convolution | pixel |
POST_CONVOLUTION_ALPHA_BIAS |
R | GetFloatv |
0 | Component bias factors after convolution | pixel |
POST_COLOR_MATRIX_RED_SCALE |
R | GetFloatv |
1 | Component scale factors after color matrix | pixel |
POST_COLOR_MATRIX_GREEN_SCALE |
R | GetFloatv |
1 | Component scale factors after color matrix | pixel |
POST_COLOR_MATRIX_BLUE_SCALE |
R | GetFloatv |
1 | Component scale factors after color matrix | pixel |
POST_COLOR_MATRIX_ALPHA_SCALE |
R | GetFloatv |
1 | Component scale factors after color matrix | pixel |
POST_COLOR_MATRIX_RED_BIAS |
R | GetFloatv |
0 | Component bias factors after color matrix | pixel |
POST_COLOR_MATRIX_GREEN_BIAS |
R | GetFloatv |
0 | Component bias factors after color matrix | pixel |
POST_COLOR_MATRIX_BLUE_BIAS |
R | GetFloatv |
0 | Component bias factors after color matrix | pixel |
POST_COLOR_MATRIX_ALPHA_BIAS |
R | GetFloatv |
0 | Component bias factors after color matrix | pixel |
HISTOGRAM |
B | IsEnabled |
\glc{FALSE} | True if histogramming is enabled | pixel/enable |
HISTOGRAM |
I | GetHistogram |
\em empty | Histogram table | — |
HISTOGRAM_WIDTH |
2 × Z+ | GetHistogramParameteriv |
0 | Histogram table width | — |
HISTOGRAM_FORMAT |
2 × E | GetHistogramParameteriv |
\glc{RGBA} | Histogram table internal format | — |
HISTOGRAM_RED_SIZE |
2 × Z+ | GetHistogramParameteriv |
0 | Histogram table component resolution | — |
HISTOGRAM_GREEN_SIZE |
2 × Z+ | GetHistogramParameteriv |
0 | Histogram table component resolution | — |
HISTOGRAM_BLUE_SIZE |
2 × Z+ | GetHistogramParameteriv |
0 | Histogram table component resolution | — |
HISTOGRAM_ALPHA_SIZE |
2 × Z+ | GetHistogramParameteriv |
0 | Histogram table component resolution | — |
HISTOGRAM_LUMINANCE_SIZE |
2 × Z+ | GetHistogramParameteriv |
0 | Histogram table component resolution | — |
HISTOGRAM_SINK |
B | GetHistogramParameteriv |
\glc{FALSE} | True if histogramming consumes pixel groups | — |
§ Pixels (cont.) |
|||||
MINMAX |
B | IsEnabled |
\glc{FALSE} | True if minmax is enabled | pixel/enable |
MINMAX |
$R^n$ | GetMinmax |
(M,M,M,M),(m,m,m,m) | Minmax table | — |
MINMAX_FORMAT |
E | GetMinmaxParameteriv |
\glc{RGBA} | Minmax table internal format | — |
MINMAX_SINK |
B | GetMinmaxParameteriv |
\glc{FALSE} | True if minmax consumes pixel groups | — |
ZOOM_X |
R | GetFloatv |
1.0 | $x$ zoom factor | pixel |
ZOOM_Y |
R | GetFloatv |
1.0 | $y$ zoom factor | pixel |
PIXEL_MAP_I_TO_R |
32* × R | GetPixelMap |
0's | RGBA \func{PixelMap} translation table | — |
PIXEL_MAP_I_TO_G |
32* × R | GetPixelMap |
0's | RGBA \func{PixelMap} translation table | — |
PIXEL_MAP_I_TO_B |
32* × R | GetPixelMap |
0's | RGBA \func{PixelMap} translation table | — |
PIXEL_MAP_I_TO_A |
32* × R | GetPixelMap |
0's | RGBA \func{PixelMap} translation table | — |
PIXEL_MAP_R_TO_R |
32* × R | GetPixelMap |
0's | RGBA \func{PixelMap} translation table | — |
PIXEL_MAP_G_TO_G |
32* × R | GetPixelMap |
0's | RGBA \func{PixelMap} translation table | — |
PIXEL_MAP_B_TO_B |
32* × R | GetPixelMap |
0's | RGBA \func{PixelMap} translation table | — |
PIXEL_MAP_A_TO_A |
32* × R | GetPixelMap |
0's | RGBA \func{PixelMap} translation table | — |
PIXEL_MAP_I_TO_I |
32* × Z | GetPixelMap |
0's | Index \func{PixelMap} translation table | — |
PIXEL_MAP_S_TO_S |
32* × Z | GetPixelMap |
0's | Index \func{PixelMap} translation table | — |
PIXEL_MAP_I_TO_R_SIZE |
Z+ | GetIntegerv |
1 | Size of table PIXEL_MAP_I_TO_R | — |
PIXEL_MAP_I_TO_G_SIZE |
Z+ | GetIntegerv |
1 | Size of table PIXEL_MAP_I_TO_G | — |
PIXEL_MAP_I_TO_B_SIZE |
Z+ | GetIntegerv |
1 | Size of table PIXEL_MAP_I_TO_B | — |
PIXEL_MAP_I_TO_A_SIZE |
Z+ | GetIntegerv |
1 | Size of table PIXEL_MAP_I_TO_A | — |
PIXEL_MAP_R_TO_R_SIZE |
Z+ | GetIntegerv |
1 | Size of table PIXEL_MAP_R_TO_R | — |
PIXEL_MAP_G_TO_G_SIZE |
Z+ | GetIntegerv |
1 | Size of table PIXEL_MAP_G_TO_G | — |
PIXEL_MAP_B_TO_B_SIZE |
Z+ | GetIntegerv |
1 | Size of table PIXEL_MAP_B_TO_B | — |
PIXEL_MAP_A_TO_A_SIZE |
Z+ | GetIntegerv |
1 | Size of table PIXEL_MAP_A_TO_A | — |
PIXEL_MAP_I_TO_I_SIZE |
Z+ | GetIntegerv |
1 | Size of table PIXEL_MAP_I_TO_I | — |
PIXEL_MAP_S_TO_S_SIZE |
Z+ | GetIntegerv |
1 | Size of table PIXEL_MAP_S_TO_S | — |
§ Evaluators(\func{GetMap} takes a map name) |
|||||
ORDER |
9 × E | GetMapiv |
1 | 1d map order | — |
ORDER |
9 × 2 × E | GetMapiv |
1,1 | 2d map orders | — |
COEFF |
$9 \times 8* \times R^n$ | GetMapfv |
See sec.~\ref{evaluators} | 1d control points | — |
COEFF |
$9 \times 8* \times 8* \times R^n$ | GetMapfv |
See sec.~\ref{evaluators} | 2d control points | — |
DOMAIN |
9 × 2 × R | GetMapfv |
See sec.~\ref{evaluators} | 1d domain endpoints | — |
DOMAIN |
9 × 4 × R | GetMapfv |
See sec.~\ref{evaluators} | 2d domain endpoints | — |
MAP1_VERTEX_3 |
B | IsEnabled |
\glc{FALSE} | 1d map enable | eval/enable |
MAP1_VERTEX_4 |
B | IsEnabled |
\glc{FALSE} | 1d map enable | eval/enable |
MAP1_INDEX |
B | IsEnabled |
\glc{FALSE} | 1d map enable | eval/enable |
MAP1_COLOR_4 |
B | IsEnabled |
\glc{FALSE} | 1d map enable | eval/enable |
MAP1_NORMAL |
B | IsEnabled |
\glc{FALSE} | 1d map enable | eval/enable |
MAP1_TEXTURE_COORD_1 |
B | IsEnabled |
\glc{FALSE} | 1d map enable | eval/enable |
MAP1_TEXTURE_COORD_2 |
B | IsEnabled |
\glc{FALSE} | 1d map enable | eval/enable |
MAP1_TEXTURE_COORD_3 |
B | IsEnabled |
\glc{FALSE} | 1d map enable | eval/enable |
MAP1_TEXTURE_COORD_4 |
B | IsEnabled |
\glc{FALSE} | 1d map enable | eval/enable |
MAP2_VERTEX_3 |
B | IsEnabled |
\glc{FALSE} | 2d map enable | eval/enable |
MAP2_VERTEX_4 |
B | IsEnabled |
\glc{FALSE} | 2d map enable | eval/enable |
MAP2_INDEX |
B | IsEnabled |
\glc{FALSE} | 2d map enable | eval/enable |
MAP2_COLOR_4 |
B | IsEnabled |
\glc{FALSE} | 2d map enable | eval/enable |
MAP2_NORMAL |
B | IsEnabled |
\glc{FALSE} | 2d map enable | eval/enable |
MAP2_TEXTURE_COORD_1 |
B | IsEnabled |
\glc{FALSE} | 2d map enable | eval/enable |
MAP2_TEXTURE_COORD_2 |
B | IsEnabled |
\glc{FALSE} | 2d map enable | eval/enable |
MAP2_TEXTURE_COORD_3 |
B | IsEnabled |
\glc{FALSE} | 2d map enable | eval/enable |
MAP2_TEXTURE_COORD_4 |
B | IsEnabled |
\glc{FALSE} | 2d map enable | eval/enable |
MAP1_GRID_DOMAIN |
2 × R | GetFloatv |
0,1 | 1d grid endpoints | eval |
MAP2_GRID_DOMAIN |
4 × R | GetFloatv |
0,1;0,1 | 2d grid endpoints | eval |
MAP1_GRID_SEGMENTS |
Z+ | GetFloatv |
1 | 1d grid divisions | eval |
MAP2_GRID_SEGMENTS |
2 × Z+ | GetFloatv |
1,1 | 2d grid divisions | eval |
AUTO_NORMAL |
B | IsEnabled |
\glc{FALSE} | True if automatic normal generation enabled | eval/enable |
§ Shader Object State |
|||||
SHADER_TYPE |
E | GetShaderiv |
— | Type of shader (see table~\ref{tab:programs:shadertypes} | — |
DELETE_STATUS |
B | GetShaderiv |
\glc{FALSE} | Shader flagged for deletion | — |
COMPILE_STATUS |
B | GetShaderiv |
\glc{FALSE} | Last compile succeeded | — |
— | S | GetShaderInfoLog |
Empty string | Info log for shader objects | — |
INFO_LOG_LENGTH |
Z+ | GetShaderiv |
0 | Length of info log | — |
— | S | GetShaderSource |
Empty string | Source code for a shader | — |
SHADER_SOURCE_LENGTH |
Z+ | GetShaderiv |
0 | Length of source code | — |
— | S | GetObjectLabel |
empty | Debug label | — |
SPIR_V_BINARY |
B | GetShaderiv |
\glc{FALSE} | Shader is associated with a SPIR-V module. | — |
§ Program Pipeline Object State |
|||||
ACTIVE_PROGRAM |
Z+ | GetProgramPipelineiv |
0 | Program object updated by \func{Uniform*} when PPO bound | — |
VERTEX_SHADER |
Z+ | GetProgramPipelineiv |
0 | Name of current vertex shader program object | — |
GEOMETRY_SHADER |
Z+ | GetProgramPipelineiv |
0 | Name of current geometry shader program object | — |
FRAGMENT_SHADER |
Z+ | GetProgramPipelineiv |
0 | Name of current fragment shader program object | — |
COMPUTE_SHADER |
Z+ | GetProgramPipelineiv |
0 | Name of current compute shader program object | — |
TESS_CONTROL_SHADER |
Z+ | GetProgramPipelineiv |
0 | Name of current TCS program object | — |
TESS_EVALUATION_SHADER |
Z+ | GetProgramPipelineiv |
0 | Name of current TES program object | — |
VALIDATE_STATUS |
B | GetProgramPipelineiv |
\glc{FALSE} | Validate status of program pipeline object | — |
— | S | GetProgramPiplineInfoLog |
empty | Info log for program {pipeline} object | — |
INFO_LOG_LENGTH |
Z+ | GetProgramPipelineiv |
0 | Length of info log | — |
— | S | GetObjectLabel |
empty | Debug label | — |
§ Program Object State |
|||||
CURRENT_PROGRAM |
Z+ | GetIntegerv |
0 | Name of current program object | — |
PROGRAM_PIPELINE_BINDING |
Z+ | GetIntegerv |
0 | Current program pipeline object binding | — |
PROGRAM_SEPARABLE |
B | GetProgramiv |
\glc{FALSE} | Program object can be bound for separate pipeline stages | — |
DELETE_STATUS |
B | GetProgramiv |
\glc{FALSE} | Program object deleted | — |
LINK_STATUS |
B | GetProgramiv |
\glc{FALSE} | Last link attempt succeeded | — |
VALIDATE_STATUS |
B | GetProgramiv |
\glc{FALSE} | Last validate attempt succeeded | — |
ATTACHED_SHADERS |
Z+ | GetProgramiv |
0 | No. of attached shader objects | — |
— | 0* × Z+ | GetAttachedShaders |
empty | Shader objects attached | — |
— | S | GetProgramInfoLog |
empty | Info log for program object | — |
INFO_LOG_LENGTH |
Z+ | GetProgramiv |
0 | Length of info log | — |
PROGRAM_BINARY_LENGTH |
Z+ | GetProgramiv |
0 | Length of program binary | — |
PROGRAM_BINARY_RETRIEVABLE_HINT |
B | GetProgramiv |
\glc{FALSE} | Retrievable binary hint enabled | — |
— | 0* × BMU | GetProgramBinary |
— | Binary representation of program | — |
COMPUTE_WORK_GROUP_SIZE |
3 × Z+ | GetProgramiv |
$\{ 0, \dots \}$ | Local work size of a linked compute program | — |
— | S | GetObjectLabel |
empty | Debug label | — |
§ Program Object State (cont.) |
|||||
ACTIVE_UNIFORMS |
Z+ | GetProgramiv |
0 | No. of active uniforms | — |
— | 0* × Z | GetUniformLocation |
— | Location of active uniforms | — |
— | 0* × Z+ | GetActiveUniform |
— | Size of active uniform | — |
— | 0* × Z+ | GetActiveUniform |
— | Type of active uniform | — |
— | 0* × char |
GetActiveUniform |
empty | Name of active uniform | — |
ACTIVE_UNIFORM_MAX_LENGTH |
Z+ | GetProgramiv |
0 | Max. active uniform name length | — |
— | — | GetUniform |
0 | Uniform value | — |
ACTIVE_ATTRIBUTES |
Z+ | GetProgramiv |
0 | No. of active attributes | — |
— | 0* × Z | GetAttribLocation |
— | Location of active generic attribute | — |
— | 0* × Z+ | GetActiveAttrib |
— | Size of active attribute | — |
— | 0* × Z+ | GetActiveAttrib |
— | Type of active attribute | — |
— | 0* × char |
GetActiveAttrib |
empty | Name of active attribute | — |
ACTIVE_ATTRIBUTE_MAX_LENGTH |
Z+ | GetProgramiv |
0 | Max. active attribute name length | — |
§ Program Object State (cont.) |
|||||
GEOMETRY_VERTICES_OUT |
Z+ | GetProgramiv |
0 | Max. no. of output vertices | — |
GEOMETRY_INPUT_TYPE |
E | GetProgramiv |
\glc{TRIANGLES} | Primitive input type | — |
GEOMETRY_OUTPUT_TYPE |
E | GetProgramiv |
\glc{TRIANGLE_STRIP} | Primitive output type | — |
GEOMETRY_SHADER_INVOCATIONS |
Z+ | GetProgramiv |
1 | No. of times a geom. shader should be executed for each input primitive | — |
TRANSFORM_FEEDBACK_BUFFER_MODE |
E | GetProgramiv |
\glc{INTERLEAVED_ATTRIBS} | Transform feedback mode for the program | — |
TRANSFORM_FEEDBACK_VARYINGS |
Z+ | GetProgramiv |
0 | No. of outputs to stream to buffer object(s) | — |
TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH |
Z+ | GetProgramiv |
0 | Max. transform feedback output variable name length | — |
— | Z+ | GetTransformFeedbackVarying |
— | Size of each transform feedback output variable | — |
— | Z+ | GetTransformFeedbackVarying |
— | Type of each transform feedback output variable | — |
— | 0^{+} × char |
GetTransformFeedbackVarying |
— | Name of each transform feedback output variable | — |
§ Program Object State (cont.) |
|||||
ACTIVE_UNIFORM_BLOCKS |
Z+ | GetProgramiv |
0 | No. of active uniform blocks in a program | — |
ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH |
Z+ | GetProgramiv |
0 | Length of longest active uniform block name | — |
UNIFORM_TYPE |
0* × E | GetActiveUniformsiv |
— | Type of active uniform | — |
UNIFORM_SIZE |
0* × Z+ | GetActiveUniformsiv |
— | Size of active uniform | — |
UNIFORM_NAME_LENGTH |
0* × Z+ | GetActiveUniformsiv |
— | Uniform name length | — |
UNIFORM_BLOCK_INDEX |
0* × Z | GetActiveUniformsiv |
— | Uniform block index | — |
UNIFORM_OFFSET |
0* × Z | GetActiveUniformsiv |
— | Uniform buffer offset | — |
§ Program Object State (cont.) |
|||||
UNIFORM_ARRAY_STRIDE |
0* × Z | GetActiveUniformsiv |
— | Uniform buffer array stride | — |
UNIFORM_MATRIX_STRIDE |
0* × Z | GetActiveUniformsiv |
— | Uniform buffer intra-matrix stride | — |
UNIFORM_IS_ROW_MAJOR |
0* × B | GetActiveUniformsiv |
— | Whether uniform is a row-major matrix | — |
UNIFORM_BLOCK_BINDING |
Z+ | GetActiveUniformBlockiv |
0 | Uniform buffer binding {point} associated with the specified uniform block | — |
UNIFORM_BLOCK_DATA_SIZE |
Z+ | GetActiveUniformBlockiv |
— | Size of the storage needed to hold this uniform block's data | — |
UNIFORM_BLOCK_NAME_LENGTH |
Z+ | GetActiveUniformBlockiv |
— | Uniform block name length | — |
UNIFORM_BLOCK_ACTIVE_UNIFORMS |
Z+ | GetActiveUniformBlockiv |
— | Count of active uniforms in the specified uniform block | — |
UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES |
n × Z+ |
GetActiveUniformBlockiv |
— | Array of active uniform indices of the specified uniform block | — |
UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER |
B | GetActiveUniformBlockiv |
0 | True if uniform block is actively referenced by the vertex stage | — |
UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER |
B | GetActiveUniformBlockiv |
0 | True if uniform block is actively referenced by tess. control stage | — |
UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUTION_SHADER |
B | GetActiveUniformBlockiv |
0 | True if uniform block is actively referenced by tess. evaluation stage | — |
§ Program Object State (cont.) |
|||||
UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER |
B | GetActiveUniformBlockiv |
0 | True if uniform block is actively referenced by the geometry stage | — |
UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER |
B | GetActiveUniformBlockiv |
0 | True if uniform block is actively referenced by the fragment stage | — |
UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER |
B | GetActiveUniformBlockiv |
\glc{FALSE} | True if uniform block is referenced by the compute stage | — |
TESS_CONTROL_OUTPUT_VERTICES |
Z+ | GetProgramiv |
0 | Output patch size for tess. control shader | — |
TESS_GEN_MODE |
E | GetProgramiv |
\glc{QUADS} | Base primitive type for tess. prim. generator | — |
TESS_GEN_SPACING |
E | GetProgramiv |
\glc{EQUAL} | Spacing of tess. prim. generator edge subdivision | — |
TESS_GEN_VERTEX_ORDER |
E | GetProgramiv |
\glc{CCW} | Order of vertices in primitives generated by tess. primitive generator | — |
TESS_GEN_POINT_MODE |
B | GetProgramiv |
\glc{FALSE} | Tess. prim. generator emits points? | — |
§ Program Object State (cont.) |
|||||
ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS |
6 × Z+ | GetProgramStageiv |
0 | No. of subroutine unif. locations in the shader | — |
ACTIVE_SUBROUTINE_UNIFORMS |
6 × Z+ | GetProgramStageiv |
0 | No. of subroutine unif. variables in the shader | — |
ACTIVE_SUBROUTINES |
6 × Z+ | GetProgramStageiv |
0 | No. of subroutine functions in the shader | — |
ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH |
6 × Z+ | GetProgramStageiv |
0 | Max. subroutine uniform name length | — |
ACTIVE_SUBROUTINE_MAX_LENGTH |
6 × Z+ | GetProgramStageiv |
0 | Max. subroutine name length | — |
NUM_COMPATIBLE_SUBROUTINES |
6 × 0* × Z+ | GetActiveSubroutineUniformiv |
— | No. of subroutines compatible with a sub. uniform | — |
COMPATIBLE_SUBROUTINES |
6 × 0* × 0* × Z+ | GetActiveSubroutineUniformiv |
— | List of subroutines compatible with a sub. uniform | — |
UNIFORM_SIZE |
6 × 0* × Z+ | GetActiveSubroutineUniformiv |
— | No. of elements in sub. uniform array | — |
UNIFORM_NAME_LENGTH |
6 × 0* × Z+ | GetActiveSubroutineUniformiv |
— | Length of sub. uniform name | — |
— | 6 × 0* × S | GetActiveSubroutineUniformName |
— | Sub. uniform name string | — |
— | 6 × 0* × S | GetActiveSubroutineName |
— | Length of subroutine name | — |
— | 6 × 0* × S | GetActiveSubroutineName |
— | Subroutine name string | — |
§ Program Object State (cont.) |
|||||
ACTIVE_ATOMIC_COUNTER_BUFFERS |
Z+ | GetProgramiv |
0 | No. of active atomic counter buffers (AACBs) used by a program | — |
ATOMIC_COUNTER_BUFFER_BINDING |
n × Z+ |
GetActiveAtomicCounterBufferiv |
— | Binding point associated with an AACB | — |
ATOMIC_COUNTER_BUFFER_DATA_SIZE |
n × Z+ |
GetActiveAtomicCounterBufferiv |
— | Min size required by an AACB | — |
ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS |
n × Z+ |
GetActiveAtomicCounterBufferiv |
— | No. of active atomic counters in an AACB | — |
ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES |
m × n × Z+ |
GetActiveAtomicCounterBufferiv |
— | List of active atomic counters in an AACB | — |
ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER |
n × B |
GetActiveAtomicCounterBufferiv |
\glc{FALSE} | AACB has a counter used by vertex shaders | — |
ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER |
n × B |
GetActiveAtomicCounterBufferiv |
\glc{FALSE} | AACB has a counter used by tess. control shaders | — |
ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUTION_SHADER |
n × B |
GetActiveAtomicCounterBufferiv |
\glc{FALSE} | AACB has a counter used by tess. evaluation shaders | — |
ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER |
n × B |
GetActiveAtomicCounterBufferiv |
\glc{FALSE} | AACB has a counter used by geometry shaders | — |
ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER |
n × B |
GetActiveAtomicCounterBufferiv |
\glc{FALSE} | AACB has a counter used by fragment shaders | — |
ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER |
B | GetActiveAtomicCounterBufferiv |
\glc{FALSE} | AACB has a counter used by compute shaders | — |
UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX |
n × Z+ |
GetActiveUniformsiv |
— | AACB associated with an active uniform | — |
§ Program Interface State |
|||||
ACTIVE_RESOURCES |
n × Z+ |
GetProgramInterfaceiv |
0 | No. of active resources on an interface | — |
MAX_NAME_LENGTH |
n × Z+ |
GetProgramInterfaceiv |
0 | Max. name length for active resources | — |
MAX_NUM_ACTIVE_VARIABLES |
n × Z+ |
GetProgramInterfaceiv |
0 | Max. no. of active variables for active resources | — |
MAX_NUM_COMPATIBLE_SUBROUTINES |
n × Z+ |
GetProgramInterfaceiv |
0 | Max. no. of compatible subroutines for subroutine uniforms | — |
§ Program Object Resource State |
|||||
ACTIVE_VARIABLES |
Z+ | GetProgramResourceiv |
— | List of active variables owned by active resource | — |
ARRAY_SIZE |
Z+ | GetProgramResourceiv |
— | Active resource array size | — |
ARRAY_STRIDE |
Z+ | GetProgramResourceiv |
— | Active resource array stride in memory | — |
ATOMIC_COUNTER_BUFFER_INDEX |
Z+ | GetProgramResourceiv |
— | Index of atomic counter buffer owning resource | — |
BLOCK_INDEX |
Z+ | GetProgramResourceiv |
— | Index of interface block owning resource | — |
BUFFER_BINDING |
Z+ | GetProgramResourceiv |
— | Buffer binding assigned to active resource | — |
BUFFER_DATA_SIZE |
Z+ | GetProgramResourceiv |
— | Min. buffer data size required for resource | — |
COMPATIBLE_SUBROUTINES |
Z+ | GetProgramResourceiv |
— | List of compatible subroutines for active subroutine uniform | — |
IS_PER_PATCH |
Z+ | GetProgramResourceiv |
— | Is active input/output a per-patch attribute? | — |
IS_ROW_MAJOR |
Z+ | GetProgramResourceiv |
— | Active resource stored as a row major matrix? | — |
LOCATION |
Z+ | GetProgramResourceiv |
— | Location assigned to active resource | — |
LOCATION_COMPONENT |
Z+ | GetProgramResourceiv |
— | Location component assigned to active resources | — |
LOCATION_INDEX |
Z+ | GetProgramResourceiv |
— | Location index assigned to active resource | — |
MATRIX_STRIDE |
Z+ | GetProgramResourceiv |
— | Active resource matrix stride in memory | — |
§ Program Object Resource State (cont.) |
|||||
NAME_LENGTH |
Z+ | GetProgramResourceiv |
— | Length of active resource name | — |
NUM_ACTIVE_VARIABLES |
Z+ | GetProgramResourceiv |
— | No. of active variables owned by active resource | — |
NUM_COMPATIBLE_SUBROUTINES |
Z+ | GetProgramResourceiv |
— | No. of compatible subroutines for active subroutine uniform | — |
OFFSET |
Z+ | GetProgramResourceiv |
— | Active resource offset in memory | — |
REFERENCED_BY_VERTEX_SHADER |
Z+ | GetProgramResourceiv |
— | Active resource used by vertex shader? | — |
REFERENCED_BY_TESS_CONTROL_SHADER |
Z+ | GetProgramResourceiv |
— | Active resource used by tess. control shader? | — |
REFERENCED_BY_TESS_EVALUATION_SHADER |
Z+ | GetProgramResourceiv |
— | Active resource used by tess. evaluation shader? | — |
REFERENCED_BY_GEOMETRY_SHADER |
Z+ | GetProgramResourceiv |
— | Active resource used by geometry shader? | — |
REFERENCED_BY_FRAGMENT_SHADER |
Z+ | GetProgramResourceiv |
— | Active resource used by fragment shader? | — |
REFERENCED_BY_COMPUTE_SHADER |
Z+ | GetProgramResourceiv |
— | Active resource used by compute shader? | — |
TOP_LEVEL_ARRAY_SIZE |
Z+ | GetProgramResourceiv |
— | Array size of top level shd. storage block member | — |
TOP_LEVEL_ARRAY_STRIDE |
Z+ | GetProgramResourceiv |
— | Array stride of top level shd. storage block member | — |
TYPE |
Z+ | GetProgramResourceiv |
— | Active resource data type | — |
§ Vertex and Geometry Shader State(not part of program objects) |
|||||
VERTEX_PROGRAM_TWO_SIDE |
B | IsEnabled |
\glc{FALSE} | Two-sided color mode | enable |
CURRENT_VERTEX_ATTRIB |
MAX_VERTEX_ATTRIBS × R4 |
GetVertexAttribfv |
0.0,0.0,0.0,1.0 | Current generic vertex attribute values | current |
PROGRAM_POINT_SIZE |
B | IsEnabled |
\glc{FALSE} | Point size mode | enable |
§ Query Object State |
|||||
QUERY_RESULT |
Z+ | GetQueryObjectuiv |
0 or \glc{FALSE} | Query object result | — |
QUERY_RESULT_AVAILABLE |
B | GetQueryObjectiv |
\glc{TRUE} | Is the query object result available? | — |
— | S | GetObjectLabel |
empty | Debug label | — |
QUERY_TARGET |
E | GetQueryObjectiv |
\glc{NONE} | Target of query object | — |
§ Image State (state per image unit) |
|||||
IMAGE_BINDING_NAME |
MAX_IMAGE_UNITS × Z+ |
GetIntegeri_v |
0 | Name of bound texture object | — |
IMAGE_BINDING_LEVEL |
MAX_IMAGE_UNITS × Z+ |
GetIntegeri_v |
0 | Level of bound texture object | — |
IMAGE_BINDING_LAYERED |
MAX_IMAGE_UNITS × B |
GetBooleani_v |
\glc{FALSE} | Texture object bound with multiple layers | — |
IMAGE_BINDING_LAYER |
MAX_IMAGE_UNITS × Z+ |
GetIntegeri_v |
0 | Layer of bound texture, if not layered | — |
IMAGE_BINDING_ACCESS |
MAX_IMAGE_UNITS × E |
GetIntegeri_v |
\glc{READ_ONLY} | Read and/or write access for bound texture | — |
IMAGE_BINDING_FORMAT |
MAX_IMAGE_UNITS × Z+ |
GetIntegeri_v |
\glc{R8} | Format used for accesses to bound texture | — |
§ Atomic Counter Buffer Binding State |
|||||
ATOMIC_COUNTER_BUFFER_BINDING |
Z+ | GetIntegerv |
0 | Current value of generic atomic counter buffer binding | — |
ATOMIC_COUNTER_BUFFER_BINDING |
n × Z+ |
GetIntegeri_v |
0 | Buffer object bound to each atomic counter buffer binding point | — |
ATOMIC_COUNTER_BUFFER_START |
n × Z+ |
GetInteger64i_v |
0 | Start offset of binding range for each atomic counter buffer | — |
ATOMIC_COUNTER_BUFFER_SIZE |
n × Z+ |
GetInteger64i_v |
0 | Size of binding range for each atomic counter buffer | — |
§ Shader Storage Buffer Binding State |
|||||
SHADER_STORAGE_BUFFER_BINDING |
Z+ | GetIntegerv |
0 | Current value of generic shader storage buffer binding | — |
SHADER_STORAGE_BUFFER_BINDING |
n × Z+ |
GetIntegeri_v |
0 | Buffer object bound to each shader storage buffer binding point | — |
SHADER_STORAGE_BUFFER_START |
n × Z+ |
GetInteger64i_v |
0 | Start offset of binding range for each shader storage buffer | — |
SHADER_STORAGE_BUFFER_SIZE |
n × Z+ |
GetInteger64i_v |
0 | Size of binding range for each shader storage buffer | — |
§ Transform Feedback Object State |
|||||
TRANSFORM_FEEDBACK_BUFFER_BINDING |
n × Z+ |
GetIntegeri_v |
0 | Buffer object bound to each transform feedback attribute stream | — |
TRANSFORM_FEEDBACK_BUFFER_START |
n × Z+ |
GetInteger64i_v |
0 | Start offset of binding range for each transform feedback attrib. stream | — |
TRANSFORM_FEEDBACK_BUFFER_SIZE |
n × Z+ |
GetInteger64i_v |
0 | Size of binding range for each transform feedback attrib. stream | — |
TRANSFORM_FEEDBACK_PAUSED |
B | GetBooleanv |
\glc{FALSE} | Is transform feedback paused on this object? | — |
TRANSFORM_FEEDBACK_ACTIVE |
B | GetBooleanv |
\glc{FALSE} | Is transform feedback active on this object? | — |
— | S | GetObjectLabel |
empty | Debug label | — |
§ Uniform Buffer Binding State |
|||||
UNIFORM_BUFFER_BINDING |
Z+ | GetIntegerv |
0 | Uniform buffer object bound to the context for buffer object manipulation | — |
UNIFORM_BUFFER_BINDING |
n × Z+ |
GetIntegeri_v |
0 | Uniform buffer object bound to the specified context binding point | — |
UNIFORM_BUFFER_START |
n × Z+ |
GetInteger64i_v |
0 | Start of bound uniform buffer region | — |
UNIFORM_BUFFER_SIZE |
n × Z+ |
GetInteger64i_v |
0 | Size of bound uniform buffer region | — |
§ Sync Object State |
|||||
OBJECT_TYPE |
E | GetSynciv |
\glc{SYNC_FENCE} | Type of sync object | — |
SYNC_STATUS |
E | GetSynciv |
\glc{UNSIGNALED} | Sync object status | — |
SYNC_CONDITION |
E | GetSynciv |
\glc{SYNC_GPU_COMMANDS_COMPLETE} | Sync object condition | — |
SYNC_FLAGS |
Z+ | GetSynciv |
0 | Sync object flags | — |
— | S | GetObjectPtrLabel |
empty | Debug label | — |
§ Hints |
|||||
PERSPECTIVE_CORRECTION_HINT |
E | GetIntegerv |
\glc{DONT_CARE} | Perspective correction hint | hint |
POINT_SMOOTH_HINT |
E | GetIntegerv |
\glc{DONT_CARE} | Point smooth hint | hint |
LINE_SMOOTH_HINT |
E | GetIntegerv |
\glc{DONT_CARE} | Line smooth hint | hint |
POLYGON_SMOOTH_HINT |
E | GetIntegerv |
\glc{DONT_CARE} | Polygon smooth hint | hint |
FOG_HINT |
E | GetIntegerv |
\glc{DONT_CARE} | Fog hint | hint |
GENERATE_MIPMAP_HINT |
E | GetIntegerv |
\glc{DONT_CARE} | Mipmap generation hint | hint |
TEXTURE_COMPRESSION_HINT |
E | GetIntegerv |
\glc{DONT_CARE} | Texture compression quality hint | hint |
FRAGMENT_SHADER_DERIVATIVE_HINT |
E | GetIntegerv |
\glc{DONT_CARE} | Fragment shader derivative accuracy hint | hint |
§ Compute Dispatch State |
|||||
DISPATCH_INDIRECT_BUFFER_BINDING |
Z+ | GetIntegerv |
0 | Indirect dispatch buffer binding | — |
§ Implementation Dependent Values |
|||||
CONTEXT_RELEASE_BEHAVIOR |
E | GetIntegerv |
See sec.~\ref{query:context} | Flush behavior when context is released | — |
MAX_CLIP_DISTANCES |
Z+ | GetIntegerv |
8 | Max. no. of user clipping planes | — |
MAX_CULL_DISTANCES |
Z+ | GetIntegerv |
8 | Max. no. of user culling planes | — |
MAX_COMBINED_CLIP_AND_CULL_DISTANCES |
Z+ | GetIntegerv |
8 | Max. combined no. of user clipping | — |
SUBPIXEL_BITS |
Z+ | GetIntegerv |
4 | No. of bits of subpixel precision in screen $x_w$ and $y_w$ | — |
MAX_ELEMENT_INDEX |
Z+ | GetInteger64v |
$2^{32} - 1$ | Max. element index | — |
PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED |
B | GetBooleanv |
— | Primitive restart support for \glc{PATCHES} | — |
MAX_3D_TEXTURE_SIZE |
Z+ | GetIntegerv |
2048 | Max. 3D texture image dimension | — |
MAX_TEXTURE_SIZE |
Z+ | GetIntegerv |
16384 | Max. 2D/1D texture image dimension | — |
MAX_ARRAY_TEXTURE_LAYERS |
Z+ | GetIntegerv |
2048 | Max. no. of layers for texture arrays | — |
MAX_TEXTURE_LOD_BIAS |
R+ | GetFloatv |
2.0 | Max. absolute texture level-of-detail bias | — |
MAX_CUBE_MAP_TEXTURE_SIZE |
Z+ | GetIntegerv |
16384 | Max. cube map texture image dimension | — |
MAX_RENDERBUFFER_SIZE |
Z+ | GetIntegerv |
16384 | Max. width and height of renderbuffers | — |
MAX_TEXTURE_MAX_ANISOTROPY |
R | GetFloatv |
16.0 | Limit of maximum degree of anisotropy | — |
§ Implementation Dependent Values (cont.) |
|||||
MAX_LIGHTS |
Z+ | GetIntegerv |
8 | Max. no. of lights | — |
MAX_COLOR_MATRIX_STACK_DEPTH |
Z+ | GetIntegerv |
2 | Max. color matrix stack depth | — |
MAX_MODELVIEW_STACK_DEPTH |
Z+ | GetIntegerv |
32 | Max. model-view stack depth | — |
MAX_PROJECTION_STACK_DEPTH |
Z+ | GetIntegerv |
2 | Max. projection matrix stack depth | — |
MAX_TEXTURE_STACK_DEPTH |
Z+ | GetIntegerv |
2 | Max. no. depth of texture matrix stack | — |
MAX_PIXEL_MAP_TABLE |
Z+ | GetIntegerv |
32 | Max. size of a \func{PixelMap} translation table | — |
MAX_NAME_STACK_DEPTH |
Z+ | GetIntegerv |
64 | Max. selection name stack depth | — |
MAX_LIST_NESTING |
Z+ | GetIntegerv |
64 | Max. display list call nesting | — |
MAX_EVAL_ORDER |
Z+ | GetIntegerv |
8 | Max. evaluator polynomial order | — |
MAX_ATTRIB_STACK_DEPTH |
Z+ | GetIntegerv |
16 | Max. depth of the server attribute stack | — |
MAX_CLIENT_ATTRIB_STACK_DEPTH |
Z+ | GetIntegerv |
16 | Max. depth of the client attribute stack | — |
— | 3 × Z+ | — | 32 | Max. size of a color table | — |
— | Z+ | — | 32 | Max. size of the histogram table | — |
ALIASED_POINT_SIZE_RANGE |
2 × R+ | GetFloatv |
1,1 | Range (lo to hi) of aliased point sizes | — |
MAX_CONVOLUTION_WIDTH |
3 × Z+ | GetConvolutionParameteriv |
3 | Max. width of convolution filter | — |
MAX_CONVOLUTION_HEIGHT |
2 × Z+ | GetConvolutionParameteriv |
3 | Max. height of convolution filter | — |
§ Implementation Dependent Values (cont.)
|
|||||
MAX_VIEWPORT_DIMS |
2 × Z+ | GetFloatv |
See sec.~\ref{view:port} | Max. viewport dimensions | — |
MAX_VIEWPORTS |
Z+ | GetIntegerv |
16 | Max. no. of active viewports | — |
VIEWPORT_SUBPIXEL_BITS |
Z+ | GetIntegerv |
0 | No. of bits of sub-pixel precision for viewport bounds | — |
VIEWPORT_BOUNDS_RANGE |
2 × R | GetFloatv |
† | Viewport bounds range $[min,max]$ | — |
LAYER_PROVOKING_VERTEX |
E | GetIntegerv |
See sec.~\ref{geomshad:exec} | Vertex convention followed by \glv{gl_Layer} | — |
VIEWPORT_INDEX_PROVOKING_VERTEX |
E | GetIntegerv |
See sec.~\ref{geomshad:exec} | Vertex convention followed by \glv{gl_ViewportIndex} | — |
POINT_SIZE_RANGE |
2 × R+ | GetFloatv |
1,1 | Range (lo to hi) of point sprite sizes | — |
POINT_SIZE_GRANULARITY |
R+ | GetFloatv |
— | Point sprite size granularity | — |
ALIASED_LINE_WIDTH_RANGE |
2 × R+ | GetFloatv |
1,1 | Range (lo to hi) of aliased line widths | — |
SMOOTH_LINE_WIDTH_RANGE |
2 × R+ | GetFloatv |
1,1 | Range (lo to hi) of antialiased line widths | — |
SMOOTH_LINE_WIDTH_GRANULARITY |
R+ | GetFloatv |
— | Antialiased line width granularity | — |
MAX_ELEMENTS_INDICES |
Z+ | GetIntegerv |
— | Recommended max no. of \glr{DrawRangeElements} indices | — |
MAX_ELEMENTS_VERTICES |
Z+ | GetIntegerv |
— | Recommended max no. of \glr{DrawRangeElements} vertices | — |
§ Implementation Dependent Values (cont.)
|
|||||
MAX_VERTEX_ATTRIB_RELATIVE_OFFSET |
Z | GetIntegerv |
2047 | Max. offset added to vertex buffer binding offset | — |
MAX_VERTEX_ATTRIB_BINDINGS |
Z16* | GetIntegerv |
16 | Max. no. of vertex buffers | — |
MAX_VERTEX_ATTRIB_STRIDE |
Z | GetIntegerv |
2048 | Max. vertex attribute stride | — |
NUM_COMPRESSED_TEXTURE_FORMATS |
Z+ | GetIntegerv |
18 | No. of compressed texture formats | — |
COMPRESSED_TEXTURE_FORMATS |
18* × Z+ | GetIntegerv |
— | Enumerated compressed texture formats | — |
MAX_TEXTURE_BUFFER_SIZE |
Z+ | GetIntegerv |
65536 | No. of addressable texels for buffer textures | — |
MAX_RECTANGLE_TEXTURE_SIZE |
Z+ | GetIntegerv |
16384 | Max. width \& height of rectangle textures | — |
NUM_PROGRAM_BINARY_FORMATS |
Z+ | GetIntegerv |
0 | No. of program binary formats | — |
PROGRAM_BINARY_FORMATS |
0* × Z+ | GetIntegerv |
N/A | Enumerated program binary formats | — |
NUM_SHADER_BINARY_FORMATS |
Z+ | GetIntegerv |
0 | No. of shader binary formats | — |
SHADER_BINARY_FORMATS |
0* × Z+ | GetIntegerv |
— | Enumerated shader binary formats | — |
SHADER_COMPILER |
B | GetBooleanv |
\glc{TRUE} | Shader compiler supported | — |
MIN_MAP_BUFFER_ALIGNMENT |
Z+ | GetIntegerv |
64 | Min byte alignment of pointers returned by \func{Map*Buffer} | — |
TEXTURE_BUFFER_OFFSET_ALIGNMENT |
Z+ | GetIntegerv |
256† | Min. required alignment for texture buffer offsets | — |
§ Implementation Dependent Version and Extension Support |
|||||
MAJOR_VERSION |
Z+ | GetIntegerv |
— | Major version no. supported | — |
MINOR_VERSION |
Z+ | GetIntegerv |
— | Minor version no. supported | — |
CONTEXT_FLAGS |
Z+ | GetIntegerv |
— | Context full/forward-compatible flag | — |
CONTEXT_PROFILE_MASK |
Z+ | GetIntegerv |
— | Context profile mask | — |
EXTENSIONS |
S | GetString |
— | Supported extension names | — |
EXTENSIONS |
n × S |
GetStringi |
— | Supported individual extension names | — |
NUM_EXTENSIONS |
Z+ | GetIntegerv |
0 | No. of individual extension names | — |
RENDERER |
S | GetString |
— | Renderer string | — |
SHADING_LANGUAGE_VERSION |
S | GetString |
— | Latest Shading Language version supported | — |
SHADING_LANGUAGE_VERSION |
n × S |
GetStringi |
— | Supported Shading Language versions | — |
NUM_SHADING_LANGUAGE_VERSIONS |
Z+ | GetIntegerv |
3 | No. of supported Shading Language versions | — |
SPIR_V_EXTENSIONS |
n × S |
GetStringi |
— | Supported SPIR-V extension names | — |
NUM_SPIR_V_EXTENSIONS |
Z+ | GetIntegerv |
0 | No. of supported SPIR-V extension names | — |
VENDOR |
S | GetString |
— | Vendor string | — |
VERSION |
S | GetString |
— | OpenGL version supported | — |
§ Implementation Dependent Vertex Shader Limits |
|||||
MAX_VERTEX_ATTRIBS |
Z+ | GetIntegerv |
$16$ | No. of active vertex attributes | — |
MAX_VERTEX_UNIFORM_COMPONENTS |
Z+ | GetIntegerv |
1024 | No. of components for vertex shader uniform variables | — |
MAX_VERTEX_UNIFORM_VECTORS |
Z+ | GetIntegerv |
256 | No. of vectors for vertex shader uniform variables | — |
MAX_VERTEX_UNIFORM_BLOCKS |
Z+ | GetIntegerv |
$14*$ | Max. no. of vertex uniform buffers per program | — |
MAX_VERTEX_OUTPUT_COMPONENTS |
Z+ | GetIntegerv |
64 | Max. no. of components of outputs written by a vertex shader | — |
MAX_VERTEX_TEXTURE_IMAGE_UNITS |
Z+ | GetIntegerv |
16 | No. of texture image units accessible by a vertex shader | — |
MAX_VERTEX_ATOMIC_COUNTER_BUFFERS |
Z+ | GetIntegerv |
0 | No. of atomic counter buffers accessed by a vertex shader | — |
MAX_VERTEX_ATOMIC_COUNTERS |
Z+ | GetIntegerv |
0 | No. of atomic counters accessed by a vertex shader | — |
MAX_VERTEX_SHADER_STORAGE_BLOCKS |
Z+ | GetIntegerv |
0 | No. of shader storage blocks accessed by a vertex shader | — |
§ Implementation Dependent Tessellation Shader Limits |
|||||
MAX_TESS_GEN_LEVEL |
Z+ | GetIntegerv |
64 | Max. level supported by tess. primitive generator | — |
MAX_PATCH_VERTICES |
Z+ | GetIntegerv |
32 | Max. patch size | — |
MAX_TESS_CONTROL_UNIFORM_COMPONENTS |
Z+ | GetIntegerv |
1024 | No. of words for tess. control shader (TCS) uniforms | — |
MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS |
Z+ | GetIntegerv |
16 | No. of tex. image units for TCS | — |
MAX_TESS_CONTROL_OUTPUT_COMPONENTS |
Z+ | GetIntegerv |
128 | No. components for TCS per-vertex outputs | — |
MAX_TESS_PATCH_COMPONENTS |
Z+ | GetIntegerv |
120 | No. components for TCS per-patch outputs | — |
MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS |
Z+ | GetIntegerv |
4096 | Total no. components for TCS outputs | — |
MAX_TESS_CONTROL_INPUT_COMPONENTS |
Z+ | GetIntegerv |
128 | No. components for TCS per-vertex inputs | — |
MAX_TESS_CONTROL_UNIFORM_BLOCKS |
Z+ | GetIntegerv |
$14*$ | No. of supported uniform blocks for TCS | — |
MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS |
Z+ | GetIntegerv |
0 | No. of atomic counter (AC) buffers accessed by a TCS | — |
MAX_TESS_CONTROL_ATOMIC_COUNTERS |
Z+ | GetIntegerv |
0 | No. of ACs accessed by a TCS | — |
MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS |
Z+ | GetIntegerv |
0 | No. of shader storage blocks accessed by a tess. control shader | — |
§ Implementation Dependent Tessellation Shader Limits (cont.) |
|||||
MAX_TESS_EVALUATION_UNIFORM_COMPONENTS |
Z+ | GetIntegerv |
1024 | No. of words for tess. evaluation shader (TES) uniforms | — |
MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS |
Z+ | GetIntegerv |
16 | No. of tex. image units for TES | — |
MAX_TESS_EVALUATION_OUTPUT_COMPONENTS |
Z+ | GetIntegerv |
128 | No. components for TES per-vertex outputs | — |
MAX_TESS_EVALUATION_INPUT_COMPONENTS |
Z+ | GetIntegerv |
128 | No. components for TES per-vertex inputs | — |
MAX_TESS_EVALUATION_UNIFORM_BLOCKS |
Z+ | GetIntegerv |
$14*$ | No. of supported uniform blocks for TES | — |
MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS |
Z+ | GetIntegerv |
0 | No. of AC buffers accessed by a TES | — |
MAX_TESS_EVALUATION_ATOMIC_COUNTERS |
Z+ | GetIntegerv |
0 | No. of ACs accessed by a TES | — |
MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS |
Z+ | GetIntegerv |
0 | No. of shader storage blocks accessed by a tess. evaluation shader | — |
§ Implementation Dependent Geometry Shader Limits |
|||||
MAX_GEOMETRY_UNIFORM_COMPONENTS |
Z+ | GetIntegerv |
1024 | No. of components for geometry shader (GS) uniform variables | — |
MAX_GEOMETRY_UNIFORM_BLOCKS |
Z+ | GetIntegerv |
$14*$ | Max. no. of GS uniform buffers per program | — |
MAX_GEOMETRY_INPUT_COMPONENTS |
Z+ | GetIntegerv |
64 | Max. no. of components of inputs read by a GS | — |
MAX_GEOMETRY_OUTPUT_COMPONENTS |
Z+ | GetIntegerv |
128 | Max. no. of components of outputs written by a GS | — |
MAX_GEOMETRY_OUTPUT_VERTICES |
Z+ | GetIntegerv |
256 | Max. no. of vertices that any GS {can} emit | — |
MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS |
Z+ | GetIntegerv |
1024 | Max. no. of total components (all vertices) of active outputs that a GS can emit | — |
MAX_GEOMETRY_TEXTURE_IMAGE_UNITS |
Z+ | GetIntegerv |
16 | No. of texture image units accessible by a GS | — |
MAX_GEOMETRY_SHADER_INVOCATIONS |
Z+ | GetIntegerv |
32 | Max. supported GS invocation count | — |
MAX_VERTEX_STREAMS |
Z+ | GetIntegerv |
4 | Total no. of vertex streams | — |
MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS |
Z+ | GetIntegerv |
0 | No. of atomic counter buffers accessed by a GS | — |
MAX_GEOMETRY_ATOMIC_COUNTERS |
Z+ | GetIntegerv |
0 | No. of atomic counters accessed by a GS | — |
MAX_GEOMETRY_SHADER_STORAGE_BLOCKS |
Z+ | GetIntegerv |
0 | No. of shader storage blocks accessed by a GS | — |
§ Implementation Dependent Fragment Shader Limits |
|||||
MAX_FRAGMENT_UNIFORM_COMPONENTS |
Z+ | GetIntegerv |
1024 | No. of components for fragment shader (FS) uniform variables | — |
MAX_FRAGMENT_UNIFORM_VECTORS |
Z+ | GetIntegerv |
256 | No. of vectors for FS uniform variables | — |
MAX_FRAGMENT_UNIFORM_BLOCKS |
Z+ | GetIntegerv |
$14*$ | Max. no. of FS uniform buffers per program | — |
MAX_FRAGMENT_INPUT_COMPONENTS |
Z+ | GetIntegerv |
128 | Max. no. of components of inputs read by a FS | — |
MAX_TEXTURE_IMAGE_UNITS |
Z+ | GetIntegerv |
16 | No. of texture image units accessible by a FS | — |
MIN_PROGRAM_TEXTURE_GATHER_OFFSET |
Z | GetIntegerv |
-8 | Min texel offset for \glv{textureGather} | — |
MAX_PROGRAM_TEXTURE_GATHER_OFFSET |
Z+ | GetIntegerv |
7 | Max. texel offset for \glv{textureGather} | — |
MAX_TEXTURE_UNITS |
Z+ | GetIntegerv |
$2$ | No. of fixed-function texture units | — |
MAX_TEXTURE_COORDS |
Z+ | GetIntegerv |
$8$ | No. of texture coordinate sets | — |
MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS |
Z+ | GetIntegerv |
1 | No. of atomic counter buffers accessed by a FS | — |
MAX_FRAGMENT_ATOMIC_COUNTERS |
Z+ | GetIntegerv |
8 | No. of atomic counters accessed by a FS | — |
MAX_FRAGMENT_SHADER_STORAGE_BLOCKS |
Z+ | GetIntegerv |
8 | No. of shader storage blocks accessed by a FS | — |
§ Implementation Dependent Compute Shader Limits |
|||||
MAX_COMPUTE_WORK_GROUP_COUNT |
3 × Z+ | GetIntegeri_v |
65535 | Max. no. of workgroups (WG) that may be dispatched by a single dispatch command (per dimension) | — |
MAX_COMPUTE_WORK_GROUP_SIZE |
3 × Z+ | GetIntegeri_v |
1024 (x, y), 64 (z) | Max. local size of a compute WG (per dimension) | — |
MAX_COMPUTE_WORK_GROUP_INVOCATIONS |
Z+ | GetIntegerv |
1024 | Max. total compute shader (CS) invocations in a single local WG | — |
MAX_COMPUTE_UNIFORM_BLOCKS |
Z+ | GetIntegerv |
$14*$ | Max. no. of uniform blocks per compute program | — |
MAX_COMPUTE_TEXTURE_IMAGE_UNITS |
Z+ | GetIntegerv |
16 | Max. no. of texture image units accessible by a CS | — |
MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS |
Z+ | GetIntegerv |
8 | No. of atomic counter buffers accessed by a CS | — |
MAX_COMPUTE_ATOMIC_COUNTERS |
Z+ | GetIntegerv |
8 | No. of atomic counters accessed by a CS | — |
MAX_COMPUTE_SHARED_MEMORY_SIZE |
Z+ | GetIntegerv |
32768 | Max. total storage size of all variables declared as {\em shared} in all CSs linked into a single program object | — |
MAX_COMPUTE_UNIFORM_COMPONENTS |
Z+ | GetIntegerv |
1024 | No. of components for CS uniform variables | — |
MAX_COMPUTE_IMAGE_UNIFORMS |
Z+ | GetIntegerv |
8 | No. of image variables in compute shaders | — |
MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS |
Z+ | GetIntegerv |
* | No. of words for compute shader uniform variables in all uniform blocks, including the default | — |
MAX_COMPUTE_SHADER_STORAGE_BLOCKS |
Z+ | GetIntegerv |
8 | No. of shader storage blocks accessed by a compute shader | — |
§ Implementation Dependent Aggregate Shader Limits
|
|||||
MIN_PROGRAM_TEXEL_OFFSET |
Z | GetIntegerv |
-8 | Min texel offset allowed in lookup | — |
MAX_PROGRAM_TEXEL_OFFSET |
Z | GetIntegerv |
7 | Max. texel offset allowed in lookup | — |
MAX_UNIFORM_BUFFER_BINDINGS |
Z+ | GetIntegerv |
84 | Max. no. of uniform buffer binding points on the context | — |
MAX_UNIFORM_BLOCK_SIZE |
Z+ | GetIntegerv |
16384 | Max. size in basic machine units of a uniform block | — |
UNIFORM_BUFFER_OFFSET_ALIGNMENT |
Z+ | GetIntegerv |
256† | Min. required alignment for uniform buffer sizes and offsets | — |
MAX_COMBINED_UNIFORM_BLOCKS |
Z+ | GetIntegerv |
$70*$ | Max. no. of uniform buffers per program | — |
MAX_VARYING_COMPONENTS |
Z+ | GetIntegerv |
60 | No. of components for output variables | — |
MAX_VARYING_VECTORS |
Z+ | GetIntegerv |
15 | No. of vectors for output variables | — |
MAX_COMBINED_TEXTURE_IMAGE_UNITS |
Z+ | GetIntegerv |
$80$ | Total no. of texture units accessible by the GL | — |
MAX_SUBROUTINES |
Z+ | GetIntegerv |
256 | Max. no. of subroutines per shader stage | — |
MAX_SUBROUTINE_UNIFORM_LOCATIONS |
Z+ | GetIntegerv |
1024 | Max. no. of subroutine uniform locations per stage | — |
MAX_UNIFORM_LOCATIONS |
Z+ | GetIntegerv |
1024 | Max. no. of user-assignable uniform locations | — |
§ Implementation Dependent Aggregate Shader Limits (cont.)
|
|||||
MAX_ATOMIC_COUNTER_BUFFER_BINDINGS |
Z+ | GetIntegerv |
1 | Max. no. of atomic counter buffer bindings | — |
MAX_ATOMIC_COUNTER_BUFFER_SIZE |
Z+ | GetIntegerv |
32 | Max. size in basic machine units of an atomic counter buffer | — |
MAX_COMBINED_ATOMIC_COUNTER_BUFFERS |
Z+ | GetIntegerv |
1 | Max. no. of atomic counter buffers per program | — |
MAX_COMBINED_ATOMIC_COUNTERS |
Z+ | GetIntegerv |
8 | Max. no. of atomic counter uniforms per program | — |
MAX_SHADER_STORAGE_BUFFER_BINDINGS |
Z+ | GetIntegerv |
8 | Max. no. of shader storage buffer bindings in the context | — |
MAX_SHADER_STORAGE_BLOCK_SIZE |
Z+ | GetInteger64v |
$2^{27}$ | Max. size in basic machine units of a shader storage block | — |
MAX_COMBINED_SHADER_STORAGE_BLOCKS |
Z+ | GetIntegerv |
8 | No. of shader storage blocks accessed by a program | — |
SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT |
Z+ | GetIntegerv |
256† | Min. required alignment for shader storage buffer binding offsets | — |
§ Implementation Dependent Aggregate Shader Limits (cont.) |
|||||
MAX_IMAGE_UNITS |
Z+ | GetIntegerv |
$8$ | No. of units for image load/store/atom | — |
MAX_COMBINED_SHADER_OUTPUT_RESOURCES |
Z+ | GetIntegerv |
8 | Limit on active image units + {shader storage blocks +} fragment outputs | — |
MAX_IMAGE_SAMPLES |
Z+ | GetIntegerv |
0 | Max. allowed samples for a texture level bound to an image unit | — |
MAX_VERTEX_IMAGE_UNIFORMS |
Z+ | GetIntegerv |
0 | No. of image variables in vertex shaders | — |
MAX_TESS_CONTROL_IMAGE_UNIFORMS |
Z+ | GetIntegerv |
0 | No. of image variables in tess. control shaders | — |
MAX_TESS_EVALUATION_IMAGE_UNIFORMS |
Z+ | GetIntegerv |
0 | No. of image variables in tess. eval. shaders | — |
MAX_GEOMETRY_IMAGE_UNIFORMS |
Z+ | GetIntegerv |
0 | No. of image variables in geometry shaders | — |
MAX_FRAGMENT_IMAGE_UNIFORMS |
Z+ | GetIntegerv |
8 | No. of image variables in fragment shaders | — |
MAX_COMBINED_IMAGE_UNIFORMS |
Z+ | GetIntegerv |
8 | No. of image variables in all shaders | — |
§ Implementation Dependent Aggregate Shader Limits (cont.)
|
|||||
MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS |
Z+ | GetIntegerv |
† | No. of words for vertex shader uniform variables in all uniform blocks (including default) | — |
MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS |
Z+ | GetIntegerv |
† | No. of words for geometry shader uniform variables in all uniform blocks (including default) | — |
MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS |
Z+ | GetIntegerv |
† | No. of words for TCS uniform variables in all uniform blocks (including default) | — |
MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS |
Z+ | GetIntegerv |
† | No. of words for TES uniform variables in all uniform blocks (including default) | — |
MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS |
Z+ | GetIntegerv |
† | No. of words for fragment shader uniform variables in all uniform blocks (including default) | — |
§ Debug Output State
|
|||||
DEBUG_CALLBACK_FUNCTION |
Y | GetPointerv |
\glc{NULL} | The current debug output callback function pointer | — |
DEBUG_CALLBACK_USER_PARAM |
Y | GetPointerv |
\glc{NULL} | The current debug output callback user parameter | — |
DEBUG_LOGGED_MESSAGES |
Z+ | GetIntegerv |
0 | The no. of messages currently in the debug message log | — |
DEBUG_NEXT_LOGGED_MESSAGE_LENGTH |
Z+ | GetIntegerv |
0 | The string length of the oldest debug message in the debug message log | — |
DEBUG_OUTPUT_SYNCHRONOUS |
B | IsEnabled |
\glc{FALSE} | The enabled state for synchronous debug message callbacks | — |
DEBUG_GROUP_STACK_DEPTH |
Z+ | GetIntegerv |
1 | Debug group stack pointer | — |
DEBUG_OUTPUT |
B | IsEnabled |
Depends on the context† | The enabled state for debug output functionality | — |
§ Implementation Dependent Debug Output State |
|||||
MAX_DEBUG_MESSAGE_LENGTH |
Z+ | GetIntegerv |
1 | The max length of a debug message string, including its null terminator | — |
MAX_DEBUG_LOGGED_MESSAGES |
Z+ | GetIntegerv |
1 | The max no. of messages stored in the debug message log | — |
MAX_DEBUG_GROUP_STACK_DEPTH |
Z+ | GetIntegerv |
64 | Max. group stack depth | — |
MAX_LABEL_LENGTH |
Z+ | GetIntegerv |
256 | Max. length of a label string | — |
§ Implementation Dependent Values (cont.)
|
|||||
MAX_FRAMEBUFFER_WIDTH |
Z+ | GetIntegerv |
16384 | Max. width for framebuffer object | — |
MAX_FRAMEBUFFER_HEIGHT |
Z+ | GetIntegerv |
16384 | Max. height for framebuffer object | — |
MAX_FRAMEBUFFER_LAYERS |
Z+ | GetIntegerv |
2048 | Max. layer count for layered framebuffer object | — |
MAX_FRAMEBUFFER_SAMPLES |
Z+ | GetIntegerv |
4 | Max. sample count for framebuffer object | — |
MAX_SAMPLE_MASK_WORDS |
Z+ | GetIntegerv |
1 | Max. no. of sample mask words | — |
MAX_SAMPLES |
Z+ | GetIntegerv |
4 | Max. no. of samples supported for multisampling† | — |
MAX_COLOR_TEXTURE_SAMPLES |
Z+ | GetIntegerv |
1 | Max. no. of samples supported for all color formats in a multisample texture† | — |
MAX_DEPTH_TEXTURE_SAMPLES |
Z+ | GetIntegerv |
1 | Max. no. of samples supported for all depth/stencil formats in a multisample texture† | — |
MAX_INTEGER_SAMPLES |
Z+ | GetIntegerv |
1 | Max. no. of samples supported for all integer format multisample buffers† | — |
QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION |
B | GetBooleanv |
— | Whether quads follow provoking vertex convention | — |
QUERY_COUNTER_BITS |
n × Z+ |
GetQueryiv |
See sec.~\ref{state:occquery} | Asynchronous query counter bits | — |
MAX_SERVER_WAIT_TIMEOUT |
Z+ | GetInteger64v |
0 | Max. \glr{WaitSync} timeout interval | — |
§ Implementation Dependent Values (cont.)
|
|||||
MIN_FRAGMENT_INTERPOLATION_OFFSET |
R | GetFloatv |
-0.5 | Furthest negative offset for \glv{interpolateAtOffset} | — |
MAX_FRAGMENT_INTERPOLATION_OFFSET |
R | GetFloatv |
+0.5 - 1 ULP† | Furthest positive offset for \glv{interpolateAtOffset} | — |
FRAGMENT_INTERPOLATION_OFFSET_BITS |
Z+ | GetIntegerv |
4 | Subpixel bits for \glv{interpolateAtOffset} | — |
MAX_DRAW_BUFFERS |
Z+ | GetIntegerv |
$8$ | Max. no. of active draw buffers | — |
MAX_DUAL_SOURCE_DRAW_BUFFERS |
Z+ | GetIntegerv |
1 | Max. no. of active draw buffers when using dual-source blending | — |
MAX_COLOR_ATTACHMENTS |
Z+ | GetIntegerv |
8 | Max. no. of FBO attachment points for color buffers | — |
§ Internal Format Dependent Values
|
|||||
SAMPLES |
0* × Z+ | GetInternalformativ |
† | Supported sample counts | — |
NUM_SAMPLE_COUNTS |
Z+ | GetInternalformativ |
1 | No. of supported sample counts | — |
§ Implementation Dependent Transform Feedback Limits |
|||||
MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS |
Z+ | GetIntegerv |
64 | Max. no. of components to write to a single buffer in interleaved mode | — |
MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS |
Z+ | GetIntegerv |
4 | Max. no. of separate attributes or {outputs} that can be captured in transform feedback | — |
MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS |
Z+ | GetIntegerv |
4 | Max. no. of components per attribute or output in separate mode | — |
MAX_TRANSFORM_FEEDBACK_BUFFERS |
Z+ | GetIntegerv |
4 | Max. no. of buffer objs to write with transform feedback | — |
§ Framebuffer Dependent Values
|
|||||
DOUBLEBUFFER |
B | GetBooleanv |
— | True if front \& back buffers exist | — |
STEREO |
B | GetBooleanv |
— | True if left \& right buffers exist | — |
SAMPLE_BUFFERS |
Z2 | GetIntegerv |
0 | No. of multisample buffers | — |
SAMPLES |
Z+ | GetIntegerv |
0 | Coverage mask size | — |
SAMPLE_POSITION |
n × 2 × R[0,1] |
GetMultisamplefv |
— | Explicit sample positions | — |
IMPLEMENTATION_COLOR_READ_FORMAT |
E | GetIntegerv |
† | Implementation preferred pixel {\em format} | — |
IMPLEMENTATION_COLOR_READ_TYPE |
E | GetIntegerv |
† | Implementation preferred pixel {\em type} | — |
§ Framebuffer Dependent Values (cont.) |
|||||
AUX_BUFFERS |
Z+ | GetIntegerv |
0 | No. of auxiliary buffers | — |
RGBA_MODE |
B | GetBooleanv |
— | True if color buffers store RGBA | — |
INDEX_MODE |
B | GetBooleanv |
— | True if color buffers store indexes | — |
RED_BITS |
Z+ | GetIntegerv |
— | No. of bits in RED color buffer component | — |
GREEN_BITS |
Z+ | GetIntegerv |
— | No. of bits in GREEN color buffer component | — |
BLUE_BITS |
Z+ | GetIntegerv |
— | No. of bits in BLUE color buffer component | — |
ALPHA_BITS |
Z+ | GetIntegerv |
— | No. of bits in ALPHA color buffer component | — |
INDEX_BITS |
Z+ | GetIntegerv |
— | No. of bits in INDEX color buffer component | — |
DEPTH_BITS |
Z+ | GetIntegerv |
— | No. of depth buffer planes | — |
STENCIL_BITS |
Z+ | GetIntegerv |
— | No. of stencil planes | — |
ACCUM_RED_BITS |
Z+ | GetIntegerv |
— | No. of bits in RED accumulation buffer component | — |
ACCUM_GREEN_BITS |
Z+ | GetIntegerv |
— | No. of bits in GREEN accumulation buffer component | — |
ACCUM_BLUE_BITS |
Z+ | GetIntegerv |
— | No. of bits in BLUE accumulation buffer component | — |
ACCUM_ALPHA_BITS |
Z+ | GetIntegerv |
— | No. of bits in ALPHA accumulation buffer component | — |
§ Miscellaneous |
|||||
LIST_BASE |
Z+ | GetIntegerv |
0 | Setting of \func{ListBase} | list |
LIST_INDEX |
Z+ | GetIntegerv |
0 | No. of display list under construction; 0 if none | — |
LIST_MODE |
Z+ | GetIntegerv |
0 | Mode of display list under construction; undefined if none | — |
— | n × S |
GetObjectLabel |
empty | Debug label (per display list) | — |
— | 16* × A | — | empty | Server attribute stack | — |
ATTRIB_STACK_DEPTH |
Z+ | GetIntegerv |
0 | Server attribute stack pointer | — |
— | 16* × A | — | empty | Client attribute stack | — |
CLIENT_ATTRIB_STACK_DEPTH |
Z+ | GetIntegerv |
0 | Client attribute stack pointer | — |
NAME_STACK_DEPTH |
Z+ | GetIntegerv |
0 | Name stack depth | — |
RENDER_MODE |
E | GetIntegerv |
\glc{RENDER} | \func{RenderMode} setting | — |
SELECTION_BUFFER_POINTER |
Y | GetPointerv |
0 | Selection buffer pointer | select |
SELECTION_BUFFER_SIZE |
Z+ | GetIntegerv |
0 | Selection buffer size | select |
FEEDBACK_BUFFER_POINTER |
Y | GetPointerv |
0 | Feedback buffer pointer | feedback |
FEEDBACK_BUFFER_SIZE |
Z+ | GetIntegerv |
0 | Feedback buffer size | feedback |
FEEDBACK_BUFFER_TYPE |
E | GetIntegerv |
\glc{2D} | Feedback type | feedback |
— | n × E |
GetError |
0 | Current error code(s) | — |
— | n × B |
— | \glc{FALSE} | True if there is a corresponding error | — |
CURRENT_QUERY |
n × Z+ |
GetQueryiv |
0 | Active query object names | — |
QUERY_BUFFER_BINDING |
Z+ | GetIntegeriv |
0 | Query result buffer binding | — |
COPY_READ_BUFFER_BINDING |
Z+ | GetIntegerv |
0 | Buffer object bound to copy buffer “read” bind point | — |
COPY_WRITE_BUFFER_BINDING |
Z+ | GetIntegerv |
0 | Buffer object bound to copy buffer “write” bind point | — |
RESET_NOTIFICATION_STRATEGY |
Z2 | GetIntegerv |
See sec.~\ref{fund:reset} | Reset notification behavior | — |
TEXTURE_BUFFER_BINDING |
Z+ | GetIntegerv |
0 | Buffer object bound to generic texture buffer bind point | texture |
TEXTURE_CUBE_MAP_SEAMLESS |
B | IsEnabled |
\glc{FALSE} | Seamless cube map filtering enable | — |
This page is not produced by the Khronos Group, and cannot substitute for the Khronos Group specifications. This page is an independently created composite and reinterpretation that may contain inaccuracies; you rely on it at your own risk. Always consult the Khronos Group specifications. OpenGL® and OpenGL ES™ are trademarks used under license by the Khronos Group.
OpenGL ES 1.1 specification acknowledgments:Copyright 2002-2008 The Khronos Group Inc. Copyright 1992-2002 Silicon Graphics, Inc. SPDX-License-Identifier: CC-BY-4.0OpenGL ES 3.2 specification acknowledgments:
Copyright 2008-2022 The Khronos Group Inc. Copyright 1992-2005 Silicon Graphics, Inc. SPDX-License-Identifier: CC-BY-4.0OpenGL 4.6 specification acknowledgments:
Copyright 2008-2022 The Khronos Group Inc Copyright 1992-2005 Silicon Graphics, Inc. SPDX-License-Identifier: CC-BY-4.0
OpenGL-state-table-parser © 2023 hikari_no_yume. The content of this page may be redistributed under CC BY 4.0.