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_WEBGL
-
Unsigned integer type for 24-bit depth texture data.
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
attachment
parameter now accepts 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);