XRDepthInformation: rawValueToMeters 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 rawValueToMeters
property of the XRDepthInformation
interface contains the scale factor by which the raw depth values must be multiplied in order to get the depths in meters.
For CPU depth information, see also the XRCPUDepthInformation.getDepthInMeters()
method.
Value
A number.
Examples
Use XRFrame.getDepthInformation()
(CPU) or XRWebGLBinding.getDepthInformation()
(WebGL) to obtain depth information. The returned objects will contain the rawValueToMeters
scale factor, which can be used for further calculations.
For CPU depth information and a buffer that has "luminance-alpha" format:
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
Specification |
---|
WebXR Depth Sensing Module # dom-xrdepthinformation-rawvaluetometers |
Browser compatibility
BCD tables only load in the browser