This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Note: This feature is available in Web Workers.
The WebGLRenderingContext.clear() method of the WebGL API clears buffers to preset values.
The preset values can be set by clearColor(), clearDepth() or clearStencil().
The scissor box, dithering, and buffer writemasks can affect the clear() method. For example, if buffer writing is disabled via colorMask(), depthMask(), or stencilMask(), clear() has no effect on the corresponding buffer.
clear(mask)
maskA GLbitfield bitwise OR mask that indicates the buffers to be cleared. Possible values are:
gl.COLOR_BUFFER_BITgl.DEPTH_BUFFER_BITgl.STENCIL_BUFFER_BITNone (undefined).
If mask is not one of the listed possible values, a gl.INVALID_ENUM error is thrown.
The clear() method accepts multiple values.
gl.clear(gl.DEPTH_BUFFER_BIT); gl.clear(gl.DEPTH_BUFFER_BIT | gl.COLOR_BUFFER_BIT);
To get the current clear values, query the COLOR_CLEAR_VALUE, DEPTH_CLEAR_VALUE, and STENCIL_CLEAR_VALUE constants.
gl.getParameter(gl.COLOR_CLEAR_VALUE); gl.getParameter(gl.DEPTH_CLEAR_VALUE); gl.getParameter(gl.STENCIL_CLEAR_VALUE);
| Specification |
|---|
| WebGL Specification> # 5.14.11> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
clear |
9 | 12 | 4 | 12 | 5.1 | 25 | 4 | 12 | 8 | 1.5 | 4.4.3 | 8 |
WebGLRenderingContext.clearColor()WebGLRenderingContext.clearDepth()WebGLRenderingContext.clearStencil()
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/clear