XRWebGLLayerInit.depth - Web APIs 编辑
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
BCD tables only load in the browser
See also
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论