XRRigidTransform: inverse 属性
XRRigidTransform
接口的只读 inverse
属性会返回另一个 XRRigidTransform
对象,该对象是其所属变换的逆变换。也就是说,您始终可以使用任何 XRRigidTransform
的 inverse
属性来获取其逆变换,而无需显式生成它。
值
一个 XRRigidTransform
对象,其中包含在其上访问的 XRRigidTransform
的逆变换。
将变换的逆变换应用于之前被父 XRRigidTransform
变换过的任何对象,总是会撤销该变换,使对象恢复到其之前的姿态。换句话说,其位置和方向都会恢复到先前的配置。
示例
在此示例中,对象的模型视图矩阵是通过将视图矩阵乘以对象的姿态矩阵来计算的。
js
const modelViewMatrix = mat4.create();
for (const view of pose.view) {
const 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,
);
// …
}
此渲染器核心代码的概述显示了姿态的视图是如何通过将其变换的逆矩阵作为模型视图矩阵来表示的,该矩阵用于根据查看者的位置和方向来变换对象。逆矩阵乘以对象的矩阵以获得模型视图矩阵,然后通过设置一个 uniform 来包含该信息并将其传递给着色器程序。
规范
规范 |
---|
WebXR Device API # dom-xrrigidtransform-inverse |
浏览器兼容性
加载中…