Firefox Tomorrow

web api instance property

XRSession: depthDataFormat property

View on MDN ↗

Limited availabilitySecure context

The read-only depthDataFormat property of an immersive-ar XRSession describes which depth sensing data format is used.

Value

This property can return the following values:

  • luminance-alpha
    • : 2-byte unsigned integer data buffers (LUMINANCE_ALPHA GLEnum). CPU usage: interpret data as Uint8Array. GPU usage: inspect Luminance and Alpha channels to reassemble single value.
  • float32
    • : 4-byte floating point data buffers (R32F GLEnum). CPU usage: interpret data as Float32Array. GPU usage: inspect Red channel and use the value.

Examples

To request the desired data format, you need to specify a dataFormatPreference when requesting a session using requestSession(). Here, the caller is able to handle both “luminance-alpha” and “float32” formats. The order indicates preference for “luminance-alpha”:

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

To check which data format was selected by the user agent, you can call the depthDataFormat property:

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

Specifications

SpecificationsStandards references are available on the canonical MDN page.

Browser compatibility

Browser compatibilityCompatibility data is available on the canonical MDN page.