WebGLRenderingContext.depthFunc()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

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

规范

Specification
WebGL Specification
# 5.14.3

浏览器兼容性

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
depthFunc

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

参见