glClearBuffer — clear individual buffers of the currently bound draw framebuffer
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) ; |
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.
glClearBuffer*
clears the specified buffer to the specified value(s). If buffer
is GL_COLOR
, a particular draw buffer GL_DRAW_BUFFER
is specified by passing i
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.
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.
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. https://opencontent.org/openpub/.