From OpenGL Reference
Jump to navigation Jump to search

Fill a buffer object's data store with a fixed value.

C Specification[edit]

void glClearBufferData( GLenum target, GLenum internalformat, GLenum format, GLenum type, const void * data );
void glClearNamedBufferData( GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void * data );


target - Specifies the target to which the buffer object is bound for glClearBufferData , which must be one of the buffer binding targets in the following table:
buffer - Specifies the name of the buffer object for glClearNamedBufferData .
internalformat - The internal format with which the data will be stored in the buffer object.
format - The format of the data in memory addressed by data .
type - The type of the data in memory addressed by data .
data - The address of a memory location storing the data to be replicated into the buffer's data store.


 glClearBufferData and glClearNamedBufferData fill the entirety of a buffer object's data store with data from client memory.

Data, initially supplied in a format specified by format in data type type is read from the memory address given by data and converted into the internal representation given by internalformat , which must be one of the following sized internal formats:

This converted data is then replicated throughout the buffer object's data store. If data is NULL, then the buffer's data store is filled with zeros.


 GL_INVALID_ENUM is generated by glClearBufferData if target is not one of the generic buffer binding targets.

 GL_INVALID_VALUE is generated by glClearBufferData if no buffer is bound target .

 GL_INVALID_OPERATION is generated by glClearNamedBufferData if buffer is not the name of an existing buffer object.

 GL_INVALID_ENUM is generated if internalformat is not one of the valid sized internal formats listed in the table above.

 GL_INVALID_OPERATION is generated if any part of the specified range of the buffer object is mapped with glMapBufferRange or glMapBuffer , unless it was mapped with the GL_MAP_PERSISTENT_BIT bit set in the glMapBufferRange  access flags.

 GL_INVALID_VALUE is generated if format is not a valid format, or type is not a valid type.

Version Support[edit]

 glClearBufferData  4.3+
 glClearNamedBufferData  4.5+

See Also[edit]

 glClearBufferSubData .


Copyright© 2011-2014 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.