WebGLRenderingContext: clear() 方法

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

注意:此功能在 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_BIT
  • gl.DEPTH_BUFFER_BIT
  • gl.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_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 規範
# 5.14.11

瀏覽器相容性

另見