Provided by: opengl-4-man-doc_1.0~svn33624-1_all bug

NAME

       glClearBuffer - clear individual buffers of a 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);

       void glClearNamedFramebufferiv(GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLint *value);

       void glClearNamedFramebufferuiv(GLuint framebuffer, GLenum buffer, GLint drawbuffer,
                                       const GLuint *value);

       void glClearNamedFramebufferfv(GLuint framebuffer, GLenum buffer, GLint drawbuffer,
                                      const GLfloat *value);

       void glClearNamedFramebufferfi(GLuint framebuffer, GLenum buffer, GLint drawbuffer, GLfloat depth,
                                      GLint stencil);

PARAMETERS

       framebuffer
           Specifies the name of the framebuffer object for glClearNamedFramebuffer*.

       buffer
           Specify the buffer to clear.

       drawbuffer
           Specify a particular draw buffer to clear.

       value
           A pointer to the value or values to clear the buffer to.

       depth
           The value to clear the depth buffer to.

       stencil
           The value to clear the stencil buffer to.

DESCRIPTION

       These commands clear a specified buffer of a framebuffer to specified value(s). For glClearBuffer*, the
       framebuffer is the currently bound draw framebuffer object. For glClearNamedFramebuffer*, framebuffer is
       zero, indicating the default draw framebuffer, or the name of a framebuffer object.

       buffer and drawbuffer identify the buffer to clear.

       If buffer is GL_COLOR, a particular draw buffer GL_DRAW_BUFFERi is specified by passing i as drawbuffer,
       and value points to a four-element vector specifying the R, G, B and A color to clear that draw buffer
       to. If the value of GL_DRAW_BUFFERi is GL_NONE, the command has no effect. Otherwise, the value of
       GL_DRAW_BUFFERi identifies one or more color buffers, each of which is cleared to the same value.
       Clamping and type conversion for fixed-point color buffers are performed in the same fashion as for
       glClearColor(). The *fv, *iv and *uiv forms of these commands should be used to clear fixed- and
       floating-point, signed integer, and unsigned integer color buffers respectively.

       If buffer is GL_DEPTH, drawbuffer must be zero, and value points to a single value to clear the depth
       buffer to. Clamping and type conversion for fixed-point depth buffers are performed in the same fashion
       as for glClearDepth(). Only the *fv forms of these commands should be used to clear depth buffers; other
       forms do not accept a buffer of GL_DEPTH.

       If buffer is GL_STENCIL, drawbuffer must be zero, and value points to a single value to clear the stencil
       buffer to. Masking is performed in the same fashion as for glClearStencil(). Only the *iv forms of these
       commands should be used to clear stencil buffers; be used to clear stencil buffers; other forms do not
       accept a buffer of GL_STENCIL.

       glClearBufferfi and glClearNamedFramebufferfi are used to clear the depth and stencil buffers
       simultaneously.  buffer must be GL_DEPTH_STENCIL and drawbuffer must be zero.  depth and stencil are the
       values to clear the depth and stencil buffers to, respectively. Clamping and type conversion of depth for
       fixed-point depth buffers are performed in the same fashion as for glClearDepth(). Masking of stencil for
       stencil buffers is performed in the same fashion as for glClearStencil(). These commands are equivalent
       to clearing the depth and stencil buffers separately, but may be faster when a buffer of internal format
       GL_DEPTH_STENCIL is being cleared. The same per-fragment and masking operations defined for glClear are
       applied.

       The result of these commands is undefined if no conversion between the type of the specified value and
       the type of the buffer being cleared is defined (for example, if glClearBufferiv is called for a fixed-
       or floating-point buffer, or if glClearBufferfv is called for a signed or unsigned integer buffer). This
       is not an error.

ERRORS

       GL_INVALID_OPERATION is generated by glClearNamedFramebuffer* if framebuffer is not zero or the name of
       an existing framebuffer object.

       GL_INVALID_ENUM is generated by glClearBufferiv and glClearNamedFramebufferiv buffer is not GL_COLOR or
       GL_STENCIL.

       GL_INVALID_ENUM is generated by glClearBufferuiv and glClearNamedFramebufferuiv buffer is not GL_COLOR.

       GL_INVALID_ENUM is generated by glClearBufferfv and glClearNamedFramebufferfv buffer is not GL_COLOR or
       GL_DEPTH.

       GL_INVALID_ENUM is generated by glClearBufferfi and glClearNamedFramebufferfi buffer is not
       GL_DEPTH_STENCIL.

       GL_INVALID_VALUE is generated if buffer is GL_COLOR drawbuffer is negative, or greater than the value of
       GL_MAX_DRAW_BUFFERS minus one.

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

VERSION SUPPORT

       ┌───────────────────────────┬───────────────────────────────────────────────────────────────────────┐
       │                           │                OpenGL Version                                         │
       ├───────────────────────────┼─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┤
       │Function2.02.13.03.13.23.34.04.14.24.34.44.5 │
       │/                          │     │     │     │     │     │     │     │     │     │     │     │     │
       │Feature                    │     │     │     │     │     │     │     │     │     │     │     │     │
       │Name                       │     │     │     │     │     │     │     │     │     │     │     │     │
       ├───────────────────────────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
       │glClearBufferfi            │  -  │  -  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │
       ├───────────────────────────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
       │glClearBufferfv            │  -  │  -  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │
       ├───────────────────────────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
       │glClearBufferiv            │  -  │  -  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │
       ├───────────────────────────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
       │glClearBufferuiv           │  -  │  -  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │
       ├───────────────────────────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
       │glClearNamedFramebufferfi  │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  ✔  │
       ├───────────────────────────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
       │glClearNamedFramebufferfv  │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  ✔  │
       ├───────────────────────────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
       │glClearNamedFramebufferiv  │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  ✔  │
       ├───────────────────────────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
       │glClearNamedFramebufferuiv │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  ✔  │
       └───────────────────────────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘

SEE ALSO

       glClearColor(), glClearDepth(), 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/.

COPYRIGHT

       Copyright © 2010-2014 Khronos Group

[FIXME: source]                                    01/03/2018                                  GLCLEARBUFFER(3G)