Light | Dark

# docs.GL

OpenGL 4
OpenGL 3
OpenGL 2
OpenGL ES 3
OpenGL ES 2

# glClear

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

The pixel ownership test, the scissor test, dithering, and the buffer writemasks affect the operation of `glClear`. The scissor box bounds the cleared region. Blend function, stenciling, fragment shading, 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`

## Tutorials

open.gl - Depth and Stencil Buffers
open.gl - Geometry Shaders
opengl-tutorial.org - Tutorial 4 : A Colored Cube

## See Also

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

## Copyright

Copyright © 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see https://web.archive.org/web/20171022161616/http://oss.sgi.com/projects/FreeB/.

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