XRSession:depthDataFormat 屬性

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

實驗性: 這是一項實驗性技術
在生產中使用此技術之前,請仔細檢查瀏覽器相容性表格

安全上下文: 此功能僅在安全上下文(HTTPS)中可用,且支援此功能的瀏覽器數量有限。

immersive-ar XRSession只讀depthDataFormat 屬性描述了所使用的深度感測資料格式。

此屬性可以返回以下值

luminance-alpha

2 位元組無符號整數資料緩衝區(LUMINANCE_ALPHA GLEnum)。CPU 使用:將 XRCPUDepthInformation.data 解釋為 Uint8Array。GPU 使用:檢查亮度(Luminance)和 Alpha 通道以重新組合單個值。

float32

4 位元組浮點數資料緩衝區(R32F GLEnum)。CPU 使用:將 XRCPUDepthInformation.data 解釋為 Float32Array。GPU 使用:檢查紅色(Red)通道並使用該值。

示例

要請求所需的資料格式,您需要在呼叫 XRSystem.requestSession() 請求會話時指定 dataFormatPreference。在此示例中,呼叫者可以處理 "luminance-alpha" 和 "float32" 格式。順序表示對 "luminance-alpha" 的偏好。

js
navigator.xr.requestSession("immersive-ar", {
  requiredFeatures: ["depth-sensing"],
  depthSensing: {
    usagePreference: ["cpu-optimized", "gpu-optimized"],
    formatPreference: ["luminance-alpha", "float32"],
  },
});

要檢查使用者代理選擇了哪種資料格式,您可以呼叫 depthDataFormat 屬性。

js
console.log(session.depthDataFormat); // either "luminance-alpha" or "float32"

規範

規範
WebXR Depth Sensing 模組
# dom-xrsession-depthdataformat

瀏覽器相容性