W3cubDocs

/Web APIs

XRFrame

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

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

A WebXR Device API XRFrame object is passed into the requestAnimationFrame() callback function and provides access to the information needed in order to render a single frame of animation for an XRSession describing a VR or AR scene. Events which communicate the tracking state of objects also provide an XRFrame reference as part of their structure.

In addition to providing a reference to the XRSession for which this frame is to be rendered, the getViewerPose() method is provided to obtain the XRViewerPose describing the viewer's position and orientation in space, and getPose() can be used to create an XRPose describing the relative position of one XRSpace relative to another.

Instance properties

session Read only Experimental

The XRSession that for which this XRFrame describes the tracking details for all objects. The information about a specific object can be obtained by calling one of the methods on the object.

trackedAnchors Read only Experimental

An XRAnchorSet containing all anchors still tracked in the frame.

Instance methods

createAnchor() Experimental

Returns a Promise which resolves to a free-floating XRAnchor object.

fillJointRadii() Experimental

Populates a Float32Array with radii for a list of hand joint spaces. Returns true if successful for all spaces.

fillPoses() Experimental

Populates a Float32Array with the matrices of the poses, relative to a given base space. Returns true if all spaces have a valid pose.

getDepthInformation() Experimental

Returns an XRCPUDepthInformation object containing CPU depth information for the frame.

getHitTestResults() Experimental

Returns an array of XRHitTestResult objects containing hit test results for a given XRHitTestSource.

getHitTestResultsForTransientInput() Experimental

Returns an array of XRTransientInputHitTestResult objects containing hit test results for a given XRTransientInputHitTestSource.

getJointPose() Experimental

Returns an XRJointPose object providing the pose of a hand joint (see XRHand) relative to a given base space.

getLightEstimate() Experimental

Returns an XRLightEstimate object containing estimated lighting values for an XRLightProbe.

getPose() Experimental

Returns an XRPose object representing the spatial relationship between the two specified XRSpace objects.

getViewerPose() Experimental

Returns an XRViewerPose describing the viewer's position and orientation in a given XRReferenceSpace.

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
XRFrame 79 79 No No 66 No No 79 No 57 No 11.2
createAnchor 85 85 No No 71 No No 85 No 60 No 14.0
fillJointRadii No
93–111Hololens 2 only.
No No No No No No No No No No
fillPoses No
93–111Hololens 2 only.
No No No No No No No No No No
getDepthInformation 90 90 No No 76 No No 90 No 64 No 15.0
getHitTestResults 81 81 No No 68 No No 81 No 58 No 13.0
getHitTestResultsForTransientInput 81 81 No No 68 No No 81 No 58 No 13.0
getJointPose No
93–111Hololens 2 only.
No No No No No No No No No No
getLightEstimate 90 90 No No 76 No No 90 No 64 No 15.0
getPose 79 79 No No 66 No No 79 No 57 No 11.2
getViewerPose 79 79 No No 66 No No 79 No 57 No 11.2
session 79 79 No No 66 No No 79 No 57 No 11.2
trackedAnchors 85 85 No No 71 No No 85 No 60 No 14.0

See also

© 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/XRFrame