XRSession: depthUsage property
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
The read-only depthUsage
property of an immersive-ar
XRSession
describes which depth-sensing usage is used.
Value
This property can return the following values:
cpu-optimized
-
The depth data is intended to be used on the CPU; see the
XRCPUDepthInformation
interface. gpu-optimized
-
The depth data is intended to be used on the GPU; see the
XRWebGLDepthInformation
interface.
Examples
To request the desired usage method, you need to specify a usagePreference
when requesting a session using XRSystem.requestSession()
. Here, the caller is able to handle both CPU- and GPU-optimized usage. The order indicates preference for CPU:
navigator.xr.requestSession("immersive-ar", {
requiredFeatures: ["depth-sensing"],
depthSensing: {
usagePreference: ["cpu-optimized", "gpu-optimized"],
formatPreference: ["luminance-alpha", "float32"],
},
});
To check which usage was selected by the user agent, you can call the depthUsage
property:
console.log(session.depthUsage); // either "cpu-optimized" or "gpu-optimized"
Specifications
Specification |
---|
WebXR Depth Sensing Module # dom-xrsession-depthusage |
Browser compatibility
BCD tables only load in the browser