---
name: "glClear"
section: "3x"
platform: "linux"
package: "xlibmesa-gl-dev"
version: "4.3.0.dfsg.1-14sarge7"
release: "Debian 3.1 (Sarge)"
platforms: ["linux"]
url: "https://new.carta.tech/glClear"
---

# glClear(3x)

clear buffers to preset values

## 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 four masks are **GL\_COLOR\_BUFFER\_BIT**, **GL\_DEPTH\_BUFFER\_BIT**, **GL\_ACCUM\_BUFFER\_BIT**, and **GL\_STENCIL\_BUFFER\_BIT**.

## DESCRIPTION

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

The pixel ownership test, the scissor test, dithering, and the buffer writemasks affect the operation of **glClear**. The scissor box bounds the cleared region. Alpha function, blend function, logical operation, 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\_ACCUM\_BUFFER\_BIT**

  Indicates the accumulation 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 four defined bits is set in *mask*.

**GL\_INVALID\_OPERATION** is generated if **glClear** is executed between the execution of **glBegin** and the corresponding execution of **glEnd**.

## ASSOCIATED GETS

**glGet** with argument **GL\_ACCUM\_CLEAR\_VALUE**\
 **glGet** with argument **GL\_DEPTH\_CLEAR\_VALUE**\
 **glGet** with argument **GL\_INDEX\_CLEAR\_VALUE**\
 **glGet** with argument **GL\_COLOR\_CLEAR\_VALUE**\
 **glGet** with argument **GL\_STENCIL\_CLEAR\_VALUE**

## SEE ALSO

**glClearAccum(3G)**, **glClearColor(3G)**, **glClearDepth(3G)**, **glClearIndex(3G)**, **glClearStencil(3G)**, **glColorMask(3G)**, **glDepthMask(3G)**, **glDrawBuffer(3G)**, **glScissor(3G)**, **glStencilMask(3G)**
