此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

WebGLRenderingContext.depthFunc()

基线 广泛可用

自 2015年7月 起,此特性已在主流浏览器中得到支持,可在大多数设备和浏览器版本中正常使用。

WebGL APIWebGLRenderingContext.depthFunc() 方法,指定将输入像素深度与当前深度缓冲区值进行比较的函数。

语法

void gl.depthFunc(func);

参数

func

是一个指定深度比较函数的 GLenum,它设置像素将被绘制的条件。默认值是 gl.LESS。可能的值是:

  • gl.NEVER(永不通过)
  • gl.LESS(如果传入值小于深度缓冲值,则通过)
  • gl.EQUAL(如果传入值等于深度缓冲区值,则通过)
  • gl.LEQUAL(如果传入值小于或等于深度缓冲区值,则通过)
  • gl.GREATER(如果传入值大于深度缓冲区值,则通过)
  • gl.NOTEQUAL(如果传入的值不等于深度缓冲区值,则通过)
  • gl.GEQUAL(如果传入值大于或等于深度缓冲区值,则通过)
  • gl.ALWAYS(总是通过)

返回值

无。

示例

深度测试默认是禁用的。要启用或禁用深度测试,请使用带有参数 gl.DEPTH_TESTenable()disable() 方法。

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

要检查当前深度函数,请查询 DEPTH_FUNC 常量。

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

规范

规范
WebGL Specification
# 5.14.3

浏览器兼容性

参见