WebGLRenderingContext: depthFunc() 方法

Baseline 已廣泛支援

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

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

WebGLRenderingContext.depthFunc() 方法是 WebGL API 的一部分,它指定了一個用於比較傳入畫素的深度值與當前深度緩衝區值的函式。

語法

js
depthFunc(func)

引數

func

一個 GLenum,指定深度比較函式,它設定了畫素將被繪製的條件。預設值為 gl.LESS。可能的值有:

  • gl.NEVER (從不透過)
  • gl.LESS (如果傳入值小於深度緩衝區值,則透過)
  • gl.EQUAL (如果傳入值等於深度緩衝區值,則透過)
  • gl.LEQUAL (如果傳入值小於或等於深度緩衝區值,則透過)
  • gl.GREATER (如果傳入值大於深度緩衝區值,則透過)
  • gl.NOTEQUAL (如果傳入值不等於深度緩衝區值,則透過)
  • gl.GEQUAL (如果傳入值大於或等於深度緩衝區值,則透過)
  • gl.ALWAYS (總是透過)

返回值

無(undefined)。

示例

深度測試預設是停用的。要啟用或停用深度測試,請使用 enable()disable() 方法,並將引數設定為 gl.DEPTH_TEST

js
gl.enable(gl.DEPTH_TEST);
gl.depthFunc(gl.NEVER);

要檢查當前的深度函式,請查詢 DEPTH_FUNC 常量。

js
gl.getParameter(gl.DEPTH_FUNC) === gl.NEVER;
// true

規範

規範
WebGL 規範
# 5.14.3

瀏覽器相容性

另見