glClear - OpenGL ES 3 Reference Pages

## Name

glClear — clear buffers to preset values

## C Specification

`void glClear(` | GLbitfield mask`)`;

## Parameters

`mask`

  Bitwise OR of masks that indicate the buffers to be cleared. The three masks are `GL_COLOR_BUFFER_BIT`, `GL_DEPTH_BUFFER_BIT`, and `GL_STENCIL_BUFFER_BIT`.

## Description

`glClear` sets the bitplane area of the window to values previously selected by `glClearColor`, `glClearDepthf`, and `glClearStencil`. Multiple color buffers can be cleared simultaneously by selecting more than one buffer at a time using glDrawBuffers.

The pixel ownership test, the scissor test, sRGB conversion, dithering, and the buffer writemasks affect the operation of `glClear`. The scissor box bounds the cleared region. Alpha function, blend function, stenciling, texture mapping, and depth-buffering are ignored by `glClear`.

`glClear` takes a single argument that is the bitwise OR of several values indicating which buffer is to be cleared.

The values are as follows:

`GL_COLOR_BUFFER_BIT`

  Indicates the buffers currently enabled for color writing.

`GL_DEPTH_BUFFER_BIT`

  Indicates the depth buffer.

`GL_STENCIL_BUFFER_BIT`

  Indicates the stencil buffer.

The value to which each buffer is cleared depends on the setting of the clear value for that buffer.

## Notes

If a buffer is not present, then a `glClear` directed at that buffer has no effect.

## Errors

`GL_INVALID_VALUE` is generated if any bit other than the three defined bits is set in `mask`.

## Associated Gets

glGet with argument `GL_DEPTH_CLEAR_VALUE`

glGet with argument `GL_COLOR_CLEAR_VALUE`

glGet with argument `GL_STENCIL_CLEAR_VALUE`

## API Version Support

| OpenGL ES API Version
--- | ---
Function Name | 2.0 | 3.0
glClear | ✔ | ✔

## See Also

glClearBuffer, glClearColor, glClearDepthf, glClearStencil, glColorMask, glDepthMask, glDrawBuffers, glScissor, glStencilMask

## Copyright

Copyright © 1991-2006 Silicon Graphics, Inc. Copyright © 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/.