2010 Khronos Group
glClearBuffer 3G
glClearBuffer clear individual buffers of the currently bound draw framebuffer

## C Specification

void `glClearBufferiv` GLenum buffer GLint drawBuffer const GLint * value void `glClearBufferuiv` GLenum buffer GLint drawBuffer const GLuint * value void `glClearBufferfv` GLenum buffer GLint drawBuffer const GLfloat * value void `glClearBufferfi` GLenum buffer GLint drawBuffer GLfloat depth GLint stencil

## Parameters

buffer

  Specify the buffer to clear.

drawBuffer

  Specify a particular draw buffer to clear.

value

  For color buffers, a pointer to a four-element vector specifying R, G, B and A values to clear the buffer to. For depth buffers, a pointer to a single depth value to clear the buffer to. For stencil buffers, a pointer to a single stencil value to clear the buffer to.

depth

  The value to clear a depth render buffer to.

stencil

  The value to clear a stencil render buffer to.

## Description

`glClearBuffer*` clears the specified buffer to the specified value(s). If buffer is `GL_COLOR`, a particular draw buffer `GL_DRAW_BUFFERi` is specified by passing i as drawBuffer. In this case, value points to a four-element vector specifying the R, G, B and A color to clear that draw buffer to. If buffer is one of `GL_FRONT`, `GL_BACK`, `GL_LEFT`, `GL_RIGHT`, or `GL_FRONT_AND_BACK`, identifying multiple buffers, each selected buffer is cleared to the same value. Clamping and conversion for fixed-point color buffers are performed in the same fashion as glClearColor.

If buffer is `GL_DEPTH`, drawBuffer must be zero, and value points to a single value to clear the depth buffer to. Only `glClearBufferfv` should be used to clear depth buffers. Clamping and conversion for fixed-point depth buffers are performed in the same fashion as glClearDepth.

If buffer is `GL_STENCIL`, drawBuffer must be zero, and value points to a single value to clear the stencil buffer to. Only `glClearBufferiv` should be used to clear stencil buffers. Masking and type conversion are performed in the same fashion as glClearStencil.

`glClearBufferfi` may be used to clear the depth and stencil buffers. buffer must be `GL_DEPTH_STENCIL` and drawBuffer must be zero. depth and stencil are the depth and stencil values, respectively.

The result of `glClearBuffer` is undefined if no conversion between the type of value and the buffer being cleared is defined. However, this is not an error.

## Errors

`GL_INVALID_ENUM` is generated by `glClearBufferif`, `glClearBufferfv` and `glClearBufferuiv` if buffer is not `GL_COLOR`, `GL_FRONT`, `GL_BACK`, `GL_LEFT`, `GL_RIGHT`, `GL_FRONT_AND_BACK`, `GL_DEPTH` or `GL_STENCIL`.

`GL_INVALID_ENUM` is generated by `glClearBufferfi` if buffer is not `GL_DEPTH_STENCIL`.

`GL_INVALID_VALUE` is generated if buffer is `GL_COLOR`, `GL_FRONT`, `GL_BACK`, `GL_LEFT`, `GL_RIGHT`, or `GL_FRONT_AND_BACK` and drawBuffer is greater than or equal to `GL_MAX_DRAW_BUFFERS`.

`GL_INVALID_VALUE` is generated if buffer is `GL_DEPTH`, `GL_STENCIL` or `GL_DEPTH_STENCIL` and drawBuffer is not zero.

## See Also

glClearColor, glClearDepth, glClearStencil, glClear

## Copyright

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