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

浏览器兼容性

另见