--- title: WebGLRenderingContext.clear() slug: Web/API/WebGLRenderingContext/clear translation_of: Web/API/WebGLRenderingContext/clear ---
{{APIRef("WebGL")}}

WebGL API 的 WebGLRenderingContext.clear() 方法使用预设值来清空缓冲。

预设值可以使用 {{domxref("WebGLRenderingContext.clearColor", "clearColor()")}} 、 {{domxref("WebGLRenderingContext.clearDepth", "clearDepth()")}} 或 {{domxref("WebGLRenderingContext.clearStencil", "clearStencil()")}} 设置。

裁剪、抖动处理和缓冲写入遮罩会影响 clear() 方法。

句法

void gl.clear(mask);

参数

mask
一个用于指定需要清除的缓冲区的 {{domxref("GLbitfield")}} 。可能的值有:

错误抛出

如果mask不是以上列出的值,会抛出 gl.INVALID_ENUM 错误。

返回值

示例

clear() 方法可接受复合值,

gl.clear(gl.DEPTH_BUFFER_BIT);
gl.clear(gl.DEPTH_BUFFER_BIT | gl.COLOR_BUFFER_BIT);

要获得当前的清除值,传入 COLOR_CLEAR_VALUE,、DEPTH_CLEAR_VALUE或STENCIL_CLEAR_VALUE 常量。

gl.getParameter(gl.COLOR_CLEAR_VALUE);
gl.getParameter(gl.DEPTH_CLEAR_VALUE);
gl.getParameter(gl.STENCIL_CLEAR_VALUE);

规范

Specification Status Comment
{{SpecName('WebGL', "#5.14.11", "clear")}} {{Spec2('WebGL')}} Initial definition.
{{SpecName('OpenGL ES 2.0', "glClear.xml", "glClear")}} {{Spec2('OpenGL ES 2.0')}} Man page of the OpenGL API.

浏览器兼容

{{Compat("api/WebGLRenderingContext", "WebGLRenderingContext.clear")}}

相关内容