This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
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.
This extension adds a new constant:
ext.UNSIGNED_INT_24_8_WEBGLUnsigned integer type for 24-bit depth texture data.
This extension extends WebGLRenderingContext.texImage2D():
format and internalformat parameters now accept gl.DEPTH_COMPONENT and gl.DEPTH_STENCIL.type parameter now accepts gl.UNSIGNED_SHORT, gl.UNSIGNED_INT, and ext.UNSIGNED_INT_24_8_WEBGL.pixels parameter now accepts a Uint16Array or a Uint32Array object.This extension extends WebGLRenderingContext.framebufferTexture2D():
attachment parameter now accepts gl.DEPTH_STENCIL_ATTACHMENT.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,
);
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
WEBGL_depth_texture |
2622 | 12 | 2217–58 | 1515 | 8 | 2625 | 2217–58 | 1414 | 8 | 1.51.5 | 4.44.4 | 8 |
WebGLRenderingContext.getExtension()WebGLRenderingContext.texImage2D()WebGLRenderingContext.framebufferTexture2D()
© 2005–2025 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