W3cubDocs

/Web APIs

WEBGL_depth_texture extension

The WEBGL_depth_texture extension is part of the WebGL API and defines 2D depth and depth-stencil textures.

WebGL extensions are available using the WebGLRenderingContext.getExtension() method. For more information, see also Using Extensions in the WebGL tutorial.

Note: This extension is only available to WebGL1 contexts. In WebGL2, the functionality of this extension is available on the WebGL2 context by default. The constant in WebGL2 is gl.UNSIGNED_INT_24_8.

Constants

This extension adds a new constant:

ext.UNSIGNED_INT_24_8_WEBGL

Unsigned integer type for 24-bit depth texture data.

Extended methods

This extension extends WebGLRenderingContext.texImage2D():

  • The format and internalformat parameters now accept gl.DEPTH_COMPONENT and gl.DEPTH_STENCIL.
  • The type parameter now accepts gl.UNSIGNED_SHORT, gl.UNSIGNED_INT, and ext.UNSIGNED_INT_24_8_WEBGL.
  • The pixels parameter now accepts a Uint16Array or a Uint32Array object.

This extension extends WebGLRenderingContext.framebufferTexture2D():

  • The attachment parameter now accepts gl.DEPTH_STENCIL_ATTACHMENT.

Note: Incorrectly stated as the target parameter in the specification, see https://www.khronos.org/bugzilla/show_bug.cgi?id=674.

Examples

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,
);

Specifications

Browser compatibility

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet
WEBGL_depth_texture 2622 12 2217–58 No 1515 8 4.44.4 2625 2217–58 1414 8 1.51.5

See also

© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/WEBGL_depth_texture