XRSession: depthDataFormat 属性
immersive-ar
XRSession
的只读 depthDataFormat
属性描述使用哪种深度传感数据格式。
值
此属性可以返回以下值
luminance-alpha
-
2 字节无符号整数数据缓冲区 (
LUMINANCE_ALPHA
GLEnum
)。CPU 使用情况:将XRCPUDepthInformation.data
解释为Uint8Array
。GPU 使用情况:检查亮度和 Alpha 通道以重新组合单个值。 float32
-
4 字节浮点数据缓冲区 (
R32F
GLEnum
)。CPU 使用情况:将XRCPUDepthInformation.data
解释为Float32Array
。GPU 使用情况:检查红色通道并使用该值。
示例
要请求所需的数据格式,您需要在使用 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 深度传感模块 # dom-xrsession-depthdataformat |
浏览器兼容性
BCD 表仅在启用 JavaScript 的浏览器中加载。