此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

WebGLRenderingContext.clear()

基线 广泛可用

自 2015年7月 起,此特性已在主流浏览器中得到支持,可在大多数设备和浏览器版本中正常使用。

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);

规范

规范
WebGL Specification
# 5.14.11

浏览器兼容性

相关内容