W3cubDocs

/Web APIs

XRCPUDepthInformation: data property

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The read-only data property of the XRCPUDepthInformation interface is an ArrayBuffer containing depth-buffer information in raw format.

The data is stored in row-major format, without padding, with each entry corresponding to distance from the view's near plane to the users' environment, in unspecified units. The size of each data entry and the type is determined by depthDataFormat. The values can be converted from unspecified units to meters by multiplying them by rawValueToMeters. The normDepthBufferFromNormView property can be used to transform from normalized view coordinates (an origin in the top left corner of the view, with X axis growing to the right, and Y axis growing downward) into the depth buffer's coordinate system.

Value

Examples

Use XRFrame.getDepthInformation() to obtain depth information. The returned XRCPUDepthInformation object will contain the data buffer.

For CPU depth information and a buffer that has "luminance-alpha" format:

js

const uint16 = new Uint16Array(depthInfo.data);
const index = column + row * depthInfo.width;
const depthInMeters = uint16[index] * depthInfo.rawValueToMeters;

(Use Float32Array for a "float32" data format.)

Note that the depth in meters is in depth-buffer coordinates. Additional steps are needed to convert them to normalized view coordinates, or the XRCPUDepthInformation.getDepthInMeters() method can be used.

Specifications

Browser compatibility

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet
data 90 90 No No 76 No No 90 No 64 No 15.0

© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/XRCPUDepthInformation/data