## Name

glClearBufferData — fill a buffer object's data store with a fixed value

## C Specification

`void glClearBufferData(` | GLenum target,
| GLenum internalformat,
| GLenum format,
| GLenum type,
| const void * data`)`;

## Parameters

`target`

  Specify the target of the operation. `target` must be one of the global buffer binding targets.

`internalformat`

  The internal format with which the data will be stored in the buffer object.

`size`

  The size, in basic machine units of the range of the data store to fill.

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

## Description

`glClearBufferData` fills 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 `internalforamt`. 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.

## Errors

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

`GL_INVALID_VALUE` is generated if no buffer is bound to `target`.

`GL_INVALID_ENUM` is generated if `internalformat` is not a sized internal format.

`GL_INVALID_OPERATION` is generated if any part of the buffer's data store is mapped with glMapBufferRange or glMapBuffer.

## See Also

glClearBufferSubData.

## Copyright

Copyright © 2011-2012 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. http://opencontent.org/openpub/.