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