WebGLRenderingContext: clear() 方法
注意:此功能在 Web Workers 中可用。
WebGLRenderingContext.clear() 方法是 WebGL API 的一部分,用于将缓冲区清除为预设值。
预设值可以通过 clearColor()、clearDepth() 或 clearStencil() 来设置。
剪刀盒 (scissor box)、抖动 (dithering) 和缓冲区写入掩码 (buffer writemasks) 会影响 clear() 方法。例如,如果通过 colorMask()、depthMask() 或 stencilMask() 禁用了缓冲区写入,则 clear() 对相应的缓冲区没有影响。
语法
js
clear(mask)
参数
mask-
一个
GLbitfield位掩码,指示要清除的缓冲区。可能的值为:gl.COLOR_BUFFER_BITgl.DEPTH_BUFFER_BITgl.STENCIL_BUFFER_BIT
返回值
无(undefined)。
异常
如果 mask 不是列出的可能值之一,则会抛出 gl.INVALID_ENUM 错误。
示例
clear() 方法接受多个值。
js
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 常量。
js
gl.getParameter(gl.COLOR_CLEAR_VALUE);
gl.getParameter(gl.DEPTH_CLEAR_VALUE);
gl.getParameter(gl.STENCIL_CLEAR_VALUE);
规范
| 规范 |
|---|
| WebGL 规范 # 5.14.11 |
浏览器兼容性
加载中…