WEBGL_depth_texture 扩展

基线 广泛可用

此功能非常成熟,可在许多设备和浏览器版本上运行。它已在浏览器中可用,从 2015 年 7 月.

WEBGL_depth_texture 扩展是 WebGL API 的一部分,它定义了 2D 深度和深度模板纹理。

可以使用 WebGLRenderingContext.getExtension() 方法获取 WebGL 扩展。有关更多信息,请参阅 使用扩展(位于 WebGL 教程 中)。

注意: 此扩展仅适用于 WebGL1 上下文。在 WebGL2 中,此扩展的功能默认在 WebGL2 上下文中可用。WebGL2 中的常量为 gl.UNSIGNED_INT_24_8

常量

此扩展添加了一个新常量

ext.UNSIGNED_INT_24_8_WEBGL

用于 24 位深度纹理数据的无符号整数类型。

扩展方法

此扩展扩展了 WebGLRenderingContext.texImage2D()

  • formatinternalformat 参数现在接受 gl.DEPTH_COMPONENTgl.DEPTH_STENCIL
  • type 参数现在接受 gl.UNSIGNED_SHORTgl.UNSIGNED_INText.UNSIGNED_INT_24_8_WEBGL
  • pixels 参数现在接受 Uint16ArrayUint32Array 对象。

此扩展扩展了 WebGLRenderingContext.framebufferTexture2D()

  • attachment 参数现在接受 gl.DEPTH_STENCIL_ATTACHMENT

示例

js
const ext = gl.getExtension("WEBGL_depth_texture");

gl.texImage2D(
  gl.TEXTURE_2D,
  0,
  gl.DEPTH_COMPONENT,
  512,
  512,
  0,
  gl.DEPTH_COMPONENT,
  gl.UNSIGNED_SHORT,
  null,
);

规范

规范
WebGL WEBGL_depth_texture Khronos 认证扩展规范

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅