安全上下文
此特征只可用于
安全上下文
(HTTPS),在某些或所有
支持浏览器
.
只读
XRWebGLLayer
property
ignoreDepthValues
is a Boolean value which is
true
if the session has been configured to ignore the values in the depth buffer while rendering the scene. If the depth buffer is being used to determine the position of vertices, this property is
false
.
值
ignoreDepthValues
can only be set when the
XRWebGLLayer
is instantiated, by setting the corresponding value in the
XRWebGLLayerInit
object specified as the
constructor's
layerInit
parameter. As a parameter you're likely to set yourself, it is unlikely you'll need to read it later, but it's available if the need arises.
let ignoringDepthBuffer = xrWebGLLayer.ignoreDepthValues;
A Boolean value which is
true
if the WebGL context's depth buffer is being used while computing the locations of points in the 3D world. Otherwise, if this is
true
, the depth buffer's values are being used to assist in placing objects in the scene. Since the
XR compositor
uses the depth buffer by default, this value is
false
unless explicitly set otherwise when creating the
XRWebGLLayer
using its constructor,
XRWebGLLayer()
.
当
ignoreDepthValues
特性为
false
, the XR compositor uses the values found in the depth buffer, which should be accurate for the scene, in order to potentially improve the quality or the output as well as the comfort level for the viewer.
The depth buffer is
framebufferWidth
entires wide and
framebuffer
entries tall. Each entry in the buffer specifies the depth at which the corresponding pixel is located, and has a value between 0.0 and 1.0.
A depth buffer pixel value of 0.0 corresponds to the depth given by the session's
depthNear
and a value of 1.0 corresponds to the depth given by
depthFar
.
The depth, in tandem with the coordinates of each point being rendered, makes it possible to more accurately represent the scene in the 3D space.
If the Web application which is using WeXR is rendering its content without using a depth buffer—or if the depth buffer's contents are invalid—you should disable the use of the depth buffer for WebXR rendering by setting
ignoreDepthValues
to true when creating the
XRWebGLLayer
. This is demonstrated in the snippet of code below:
const glLayerOptions = {
ignoreDepthValues: true
};
let glLayer = new XRWebGLLayer(xrSession, gl, glLayerOptions);
| 规范 | 状态 | 注释 |
|---|---|---|
|
WebXR 设备 API
The definition of 'XRWebGLLayer.ignoreDepthValues' in that specification. |
工作草案 | 初始定义。 |
| 桌面 | 移动 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
ignoreDepthValues
|
Chrome 79 | Edge 79 | Firefox No | IE No | Opera No | Safari No | WebView Android No | Chrome Android 79 | Firefox Android No | Opera Android No | Safari iOS No | Samsung Internet Android 11.2 |
完整支持
不支持
WebGLLayerInit
depthFunc()
,
clearDepth()
XRWebGLLayer
framebuffer
framebufferHeight
framebufferWidth
ignoreDepthValues
Navigator.xr
WebGLRenderingContext.makeXRCompatible()
XR
XRBoundedReferenceSpace
XRFrame
XRInputSource
XRInputSourceArray
XRInputSourceEvent
XRInputSourcesChangeEvent
XRPose
XRReferenceSpace
XRReferenceSpaceEvent
XRRenderState
XRRigidTransform
XRSession
XRSessionEvent
XRSpace
XRView
XRViewerPose
XRViewport