WEBGL_depth_texture 擴充套件

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

WEBGL_depth_texture 擴充套件是 WebGL API 的一部分,它定義了二維深度紋理和深度-模板紋理。

可以使用 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 批准的擴充套件規範

瀏覽器相容性

另見