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

The read-only normDepthBufferFromNormView property of the XRDepthInformation interface contains the 3D geometric transform that needs to be applied when indexing into the depth buffer.


An XRRigidTransform that needs to be applied when indexing into the depth buffer. The transformation that the matrix represents changes the coordinate system from normalized view coordinates to normalized depth-buffer coordinates that can then be scaled by depth buffer's width and height to obtain the absolute depth buffer coordinates.


Use XRFrame.getDepthInformation() (CPU) or XRWebGLBinding.getDepthInformation() (WebGL) to obtain depth information. The returned objects will contain the normDepthBufferFromNormView of the depth buffer, which you can use for further calculations.

const normDepthFromNormViewMatrix = depthData.normDepthBufferFromNormView.matrix;
const normViewFromNormDepth = depthData.normDepthBufferFromNormView.inverse.matrix;


WebXR Depth Sensing Module
# dom-xrdepthinformation-normdepthbufferfromnormview

Browser compatibility

BCD tables only load in the browser