WebGL2RenderingContext: clearBuffer[fiuv]() 方法

Baseline 廣泛可用 *

此功能已成熟,並可在多種裝置和瀏覽器版本上執行。自 2021 年 9 月起,所有瀏覽器均已支援此功能。

* 此特性的某些部分可能存在不同級別的支援。

注意:此功能在 Web Workers 中可用。

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,指定要清除的繪製緩衝區。

一個 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

瀏覽器相容性

另見