EXT_frag_depth

The EXT_frag_depth extension is part of the WebGL API and enables to set a depth value of a fragment from within the fragment shader.

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. It requires GLSL #version 300 es.

Examples

Enable the extension:

gl.getExtension('EXT_frag_depth');

Now the output variable gl_FragDepthEXT is available to set a depth value of a fragment from within the fragment shader:

<script type="x-shader/x-fragment">
void main() {
  gl_FragColor = vec4(1.0, 0.0, 1.0, 1.0);
  gl_FragDepthEXT = 0.5;
}
</script>

Specifications

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

Browser compatibility

DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
EXT_frag_depthChrome Full support YesEdge Full support ≤18Firefox Full support 30IE ? Opera Full support YesSafari ? WebView Android Full support YesChrome Android Full support YesFirefox Android ? Opera Android Full support YesSafari iOS ? Samsung Internet Android Full support Yes

Legend

Full support
Full support
Compatibility unknown
Compatibility unknown

See also