Web/API/XRWebGLLayerInit/depth

From Get docs

Secure contextThis feature is available only in secure contexts (HTTPS), in some or all supporting browsers.


When using the XRWebGLLayer() constructor to create a new WebGL rendering layer for WebXR, providing as the layerInit parameter an object whose depth property is false will request that the new layer be created without a depth buffer.

Syntax

let layerInit = {
  depth: false
};
let glLayer = new XRWebGLLayer(xrSession, gl, layerInit);

let glLayer = new XRWebGLLayer(xrSession, gl, { depth: false });

Value

A Boolean which can be set to false to specify that the new WebGL layer should not have a depth buffer. This means that the only source for depth information is the vertex coordinates, and reduces the accuracy and quality of rendering, but may potentially affect the performance of rendering as well.

The default value is true.

Usage notes

This property differs from ignoreDepthValues in that a layer created with ignoreDepthValues set to true may still have a depth buffer, but will not make use of it.

You can determine whether or not the depth buffer is being used by a given WebGL rendering layer during your XR session by checking the value returned by XRWebGLLayer.ignoreDepthValues. If this is true, then the depth buffer is either not present or is being ignored.

if (glLayer.ignoreDepthValues) {
  /* not using the depth buffer */
}

Example

In this example, a new XRWebGLLayer is created for a WebXR session, xrSession, without a depth buffer.

xrSession.updateRenderState({
  baseLayer: new XRWebGLLayer(xrSession, gl, {
     depth: false
  });
});

Specifications

Specification Status Comment
WebXR Device APIThe definition of 'XRWebGLLayerInit.depth' in that specification. Working Draft Initial definition.

Browser compatibility

Update compatibility data on GitHub

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
depth Chrome

Full support 79

Edge

Full support 79

Firefox

No support No

IE

No support No

Opera

No support No

Safari

No support No

WebView Android

Full support 79

Chrome Android

Full support 79

Firefox Android

No support No

Opera Android

No support No

Safari iOS

No support No

Samsung Internet Android

Full support 11.2

Legend

Full support  
Full support
No support  
No support


See also