glClearBuffer - OpenGL ES 3 Reference Pages

## Name

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_DRAWBUFFER` `i` 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. The `glClearBufferfv`, `glClearBufferiv`, and `glClearBufferuiv` commands should be used to clear fixed- and floating-point, signed integer, and unsigned integer color buffers respectively. 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 glClearDepthf.

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 `glClearBufferiv` if `buffer` is not `GL_COLOR` or `GL_STENCIL`.

`GL_INVALID_ENUM` is generated by `glClearBufferfv` if `buffer` is not `GL_COLOR` or `GL_DEPTH`.

`GL_INVALID_ENUM` is generated by `glClearBufferuiv` if `buffer` is not `GL_COLOR`.

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

`GL_INVALID_VALUE` is generated if `buffer` is `GL_COLOR` 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.

## API Version Support

| OpenGL ES API Version
--- | ---
Function Name | 2.0 | 3.0
`glClearBufferiv` | - | ✔
`glClearBufferuiv` | - | ✔
`glClearBufferfv` | - | ✔
`glClearBufferfi` | - | ✔

## See Also

glClearColor, glClearDepthf, glClearStencil, glClear

## Copyright

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