EXT_frag_depth 扩展

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

EXT_frag_depth 扩展是 WebGL API 的一部分,它允许在片元着色器(fragment shader)中设置片元的深度值。

可以使用 WebGLRenderingContext.getExtension() 方法来访问 WebGL 扩展。有关更多信息,请参阅 WebGL 教程中的 使用扩展

注意:此扩展仅在 WebGL1 上下文中可用。在 WebGL2 中,此扩展的功能默认在 WebGL2 上下文中可用。它需要 GLSL #version 300 es

示例

启用扩展

js
gl.getExtension("EXT_frag_depth");

现在,输出变量 gl_FragDepthEXT 可用于在片元着色器中设置片元的深度值。

html
<script type="x-shader/x-fragment">
  void main() {
    gl_FragColor = vec4(1.0, 0.0, 1.0, 1.0);
    gl_FragDepthEXT = 0.5;
  }
</script>

规范

规范
WebGL EXT_frag_depth Khronos 批准的扩展规范

浏览器兼容性

另见