WebGLRenderingContext.clear()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

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

预设值可以使用 clearColor()clearDepth()clearStencil() 设置。

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

句法

void gl.clear(mask);

参数

mask

一个用于指定需要清除的缓冲区的 GLbitfield 。可能的值有:

  • gl.COLOR_BUFFER_BIT //颜色缓冲区
  • gl.DEPTH_BUFFER_BIT //深度缓冲区
  • gl.STENCIL_BUFFER_BIT //模板缓冲区

错误抛出

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

返回值

示例

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

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

要获得当前的清除值,传入 COLOR_CLEAR_VALUEDEPTH_CLEAR_VALUESTENCIL_CLEAR_VALUE 常量。

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

规范

Specification
WebGL Specification
# 5.14.11

浏览器兼容性

BCD tables only load in the browser

相关内容