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/.