XRRenderState:layers 属性

实验性: 这是一个 实验性技术
在生产环境中使用此功能之前,请仔细查看 浏览器兼容性表格

安全上下文:此功能仅在 安全上下文(HTTPS)中可用,并且在一些或所有 支持的浏览器中可用。

XRRenderState 接口的只读layers属性是一个有序数组,包含由 XR 合成器显示的 XRLayer 对象。

一个包含 XRLayer 对象的有序数组。图层的顺序为“从后到前”。

示例

获取渲染状态图层

要读取 WebXR 图层数组,请使用 XRRenderState 上的 layers 属性。可以使用 XRSession.updateRenderState() 方法设置图层。

js
const xrSession = navigator.xr.requestSession("immersive-ar", {
  optionalFeatures: ["layers"],
});

function onXRSessionStarted(xrSession) {
  const glCanvas = document.createElement("canvas");
  const gl = glCanvas.getContext("webgl", { xrCompatible: true });
  const xrGlBinding = new XRWebGLBinding(xrSession, gl);
  const projectionLayer = new XRWebGLLayer(xrSession, gl);
  const quadLayer = xrGlBinding.createQuadLayer({
    pixelWidth: 1024,
    pixelHeight: 1024,
  });

  xrSession.updateRenderState({
    layers: [projectionLayer, quadLayer],
  });

  xrSession.renderState.layers; // [projectionLayer, quadLayer]
}

规范

规范
WebXR 图层 API 级别 1
# dom-xrrenderstate-layers

浏览器兼容性

BCD 表格仅在启用了 JavaScript 的浏览器中加载。

另请参阅