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 Layers API Level 1
# dom-xrrenderstate-layers

瀏覽器相容性

另見