WebGLRenderingContext.clear()

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

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

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

句法

void gl.clear(mask);

参数

mask

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

  • 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

相关内容