Secure context
This 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 API The definition of 'XRWebGLLayerInit.depth' in that specification. |
Working Draft | Initial definition. |
Browser compatibility
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
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
