glGetBufferParameter — return parameters of a buffer object
void glGetBufferParameteriv(
|
GLenum target, |
GLenum value, | |
GLint * data) ; |
void glGetBufferParameteri64v(
|
GLenum target, |
GLenum value, | |
GLint64 * data) ; |
target
Specifies the target to which the buffer object is bound
for glGetBufferParameteriv
and
glGetBufferParameteri64v
. Must be
one of the buffer binding targets in the following
table:
Buffer Binding Target | Purpose |
---|---|
GL_ARRAY_BUFFER
|
Vertex attributes |
GL_ATOMIC_COUNTER_BUFFER
|
Atomic counter storage |
GL_COPY_READ_BUFFER
|
Buffer copy source |
GL_COPY_WRITE_BUFFER
|
Buffer copy destination |
GL_DISPATCH_INDIRECT_BUFFER
|
Indirect compute dispatch commands |
GL_DRAW_INDIRECT_BUFFER
|
Indirect command arguments |
GL_ELEMENT_ARRAY_BUFFER
|
Vertex array indices |
GL_PIXEL_PACK_BUFFER
|
Pixel read target |
GL_PIXEL_UNPACK_BUFFER
|
Texture data source |
GL_SHADER_STORAGE_BUFFER
|
Read-write storage for shaders |
GL_TEXTURE_BUFFER
|
Texture data buffer |
GL_TRANSFORM_FEEDBACK_BUFFER
|
Transform feedback buffer |
GL_UNIFORM_BUFFER
|
Uniform block storage |
value
Specifies the symbolic name of a buffer object parameter.
Accepted values are GL_BUFFER_ACCESS_FLAGS
, GL_BUFFER_MAPPED
,
GL_BUFFER_MAP_LENGTH
, GL_BUFFER_MAP_OFFSET
,
GL_BUFFER_SIZE
, or GL_BUFFER_USAGE
.
data
Returns the requested parameter.
glGetBufferParameteriv
and glGetBufferParameteri64v
return in data
a selected parameter of the buffer object
specified by target
.
value
names a specific buffer object parameter, as follows:
GL_BUFFER_ACCESS_FLAGS
params
returns the access policy set while mapping the buffer object.
GL_BUFFER_MAPPED
params
returns a flag indicating whether the buffer object is currently
mapped. The initial value is GL_FALSE
.
GL_BUFFER_MAP_LENGTH
params
returns the length of the buffer object mapping,
measured in bytes.
The initial value is 0.
GL_BUFFER_MAP_OFFSET
params
returns the offset (start) of the buffer object mapping,
measured in bytes.
The initial value is 0.
GL_BUFFER_SIZE
params
returns the size of the buffer object, measured in bytes.
The initial value is 0.
GL_BUFFER_USAGE
params
returns the buffer object's usage pattern.
If an error is generated,
no change is made to the contents of data
.
If glGetBufferParameteriv
is used to query a value
of
GL_BUFFER_SIZE
, values greater than or equal to
will be clamped to
.
The GL_COPY_READ_BUFFER
, GL_COPY_WRITE_BUFFER
,
GL_PIXEL_PACK_BUFFER
,GL_PIXEL_UNPACK_READ_BUFFER
,
GL_TRANSFORM_FEEDBACK_BUFFER
and GL_UNIFORM_BUFFER
targets are available only if the GL ES version is 3.0 or greater.
The GL_ATOMIC_COUNTER_BUFFER
, GL_DISPATCH_INDIRECT_BUFFER
,
GL_DRAW_INDIRECT_BUFFER
and GL_SHADER_STORAGE_BUFFER
targets are available only if the GL ES version is 3.1 or greater.
The GL_TEXTURE_BUFFER
target is available only if the GL ES version is 3.2 or greater.
GL_INVALID_ENUM
is generated if target
or value
is not an
accepted value.
GL_INVALID_OPERATION
is generated if the reserved buffer object name 0 is bound to target
.
GL_INVALID_ENUM
is generated if glGetBufferParameteri64v
is used to query a value
of
GL_BUFFER_ACCESS_FLAGS
, GL_BUFFER_MAPPED
or GL_BUFFER_USAGE
.
GL_INVALID_ENUM
is generated if glGetBufferParameteriv
is used to query a value
of
GL_BUFFER_MAP_LENGTH
or GL_BUFFER_MAP_OFFSET
.
OpenGL ES API Version | ||||
---|---|---|---|---|
Function Name | 2.0 | 3.0 | 3.1 | 3.2 |
glGetBufferParameteriv
|
✔ | ✔ | ✔ | ✔ |
glGetBufferParameteri64v
|
- | ✔ | ✔ | ✔ |
Copyright © 2005 Addison-Wesley. Copyright © 2010-2015 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. https://opencontent.org/openpub/.