Light | Dark

glClearBuffer

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

Think you can improve this page? Edit this page on GitHub.