The read-only inverse
property of the XRRigidTransform
interface returns another XRRigidTransform
object which is the inverse of its owning transform. That is, you can always get the inverse of any XRRigidTransform
using its inverse
property, instead of having to explicitly generate it.
Syntax
let transformInverse = xrRigidTransform.inverse;
Value
An XRRigidTransform
which contains the inverse of the XRRigidTransform
on which it's accessed.
Applying the inverse of a transform to any object previously transformed by the parent XRRigidTransform
always undoes the transformation, resulting in the object returning to its previous pose. In other words, its position and orientation both return to their prior configurations.
Examples
In this example, the model view matrix for an object is computed by taking the view matrix and multiplying it by the object's pose matrix.
let modelViewMatrix = mat4.create();
for (let view of pose.view) {
let viewport = glLayer.getViewport(view);
gl.viewport(viewport.x, viewport.y, viewport.width, viewport.height);
/* ... */
mat4.multiply(modelViewMatrix, view.transform.inverse.matrix, objectMatrix);
gl.uniformMatrix4fv(programInfo.uniformLocations.modelViewMatrix,
false, modelViewMatrix);
/* ... */
}
This outline of a renderer's core code shows how the pose's view gets represented by taking its transform's inverse's matrix as the model view matrix used to transform objects based on the viewer's position and orientation. The inverse's matrix is multiplied by the object's matrix to get the model view matrix, which is then passed into the shader program by setting a uniform to contain that information.
Specifications
Specification | Status | Comment |
---|---|---|
WebXR Device APIThe definition of 'XRRigidTransform.inverse' in that specification. | Working Draft | Initial definition. |
Browser compatibility
Update compatibility data on GitHub
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
inverse
|
Chrome
Full support 79 |
Edge
Full support 79 |
Firefox
No support No |
IE
No support No |
Opera
No support No |
Safari
No support No |
WebView Android
No support No |
Chrome Android
Full support 79 |
Firefox Android
No support No |
Opera Android
No support No |
Safari iOS
No support No |
Samsung Internet Android
Full support 11.2 |
Legend
- Full support
- Full support
- No support
- No support
XRRigidTransform.inverse by Mozilla Contributors is licensed under CC-BY-SA 2.5.