MDN wants to learn about developers like you:


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.

Availability: 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:

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 an ArrayBufferView of type Uint16Array and Uint32Array.

This extension extends WebGLRenderingContext.framebufferTexture2D():

  • The target parameter now accepts gl.DEPTH_ATTACHMENT and gl.DEPTH_STENCIL_ATTACHMENT.


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


Specification Status Comment
The definition of 'WEBGL_depth_texture' in that specification.
Recommendation Initial definition.

Browser compatibility

FeatureChromeFirefoxEdgeInternet ExplorerOperaSafari
Basic Support?

(Yes) — 22.0 MOZ_


FeatureAndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
Basic Support??(Yes)????

See also

Document Tags and Contributors

 Contributors to this page: fscholz, nmve, teoli
 Last updated by: fscholz,