WebGL2RenderingContext: clearBuffer[fiuv]() 方法

基线 广泛可用

此功能已稳定,并在许多设备和浏览器版本中均可使用。自以下时间起,浏览器已普遍支持此功能: 2021 年 9 月.

WebGL2RenderingContext.clearBuffer[fiuv]() 方法是 WebGL 2 API 的一部分,用于清除当前绑定帧缓冲区的缓冲区。

语法

js
clearBufferfv(buffer, drawbuffer, values)
clearBufferfv(buffer, drawbuffer, values, srcOffset)

clearBufferiv(buffer, drawbuffer, values)
clearBufferiv(buffer, drawbuffer, values, srcOffset)

clearBufferuiv(buffer, drawbuffer, values)
clearBufferuiv(buffer, drawbuffer, values, srcOffset)

clearBufferfi(buffer, drawbuffer, depth, stencil)

参数

buffer

一个 GLenum,指定要清除的缓冲区。可能的取值有:

  • gl.COLOR: 颜色缓冲区。
  • gl.DEPTH: 深度缓冲区。
  • gl.STENCIL: 模板缓冲区。
  • gl.DEPTH_STENCIL: 清除深度和模板缓冲区(与 clearBufferfi 一起使用)。
drawBuffer

一个 GLint,指定要清除的绘图缓冲区。

values

一个 Array,包含 GLintGLuintGLfloat 值,或者一个 Int32ArrayUint32ArrayFloat32Array,指定要清除到的值。

depth

一个 GLfloat,指定要清除深度渲染缓冲区到的值。

stencil

一个 GLint,指定要清除模板渲染缓冲区到的值。

返回值

无 (undefined).

示例

js
gl.clearBufferiv(gl.COLOR, 0, new Int32Array([r, g, b, a]));
gl.clearBufferuiv(gl.COLOR, 0, new Uint32Array([r, g, b, a]));
gl.clearBufferfv(gl.COLOR, 0, new Float32Array([r, g, b, a]));
gl.clearBufferfv(gl.COLOR, 0, [0.0, 0.0, 0.0, 0.0]);
gl.clearBufferfi(gl.DEPTH_STENCIL, 0, 1.0, 0);

规范

规范
WebGL 2.0 规范
# 3.7.11

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅