glGetBufferParameteriv — return parameters of a buffer object

C Specification

void glGetBufferParameteriv(GLenum target,
 GLenum value,
 GLint * data);



Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER.


Specifies the symbolic name of a buffer object parameter. Accepted values are GL_BUFFER_ACCESS, GL_BUFFER_MAPPED, GL_BUFFER_SIZE, or GL_BUFFER_USAGE.


Returns the requested parameter.


glGetBufferParameteriv returns in data a selected parameter of the buffer object specified by target.

value names a specific buffer object parameter, as follows:


params returns the access policy set while mapping the buffer object. The initial value is GL_READ_WRITE.


params returns a flag indicating whether the buffer object is currently mapped. The initial value is GL_FALSE.


params returns the size of the buffer object, measured in bytes. The initial value is 0.


params returns the buffer object's usage pattern. The initial value is GL_STATIC_DRAW.


If an error is generated, no change is made to the contents of data.

glGetBufferParameteriv is available only if the GL version is 1.5 or greater.

Targets GL_PIXEL_PACK_BUFFER and GL_PIXEL_UNPACK_BUFFER are available only if the GL version is 2.1 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_OPERATION is generated if glGetBufferParameteriv is executed between the execution of glBegin and the corresponding execution of glEnd.

See Also

glBindBuffer, glBufferData, glMapBuffer, glUnmapBuffer


Copyright © 2005 Addison-Wesley. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999.