XRRigidTransform: inverse-Eigenschaft

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Die schreibgeschützte inverse-Eigenschaft der XRRigidTransform-Schnittstelle gibt ein weiteres XRRigidTransform-Objekt zurück, das das Inverse seiner eigenen Transformationsdarstellt. Das bedeutet, dass Sie das Inverse eines jeden XRRigidTransform immer über seine inverse-Eigenschaft erhalten können, anstatt es explizit zu generieren.

Wert

Ein XRRigidTransform, das das Inverse des XRRigidTransform enthält, auf dem es aufgerufen wird.

Das Anwenden des Inversen einer Transformation auf ein Objekt, das zuvor von dem übergeordneten XRRigidTransform transformiert wurde, hebt die Transformation immer auf, was dazu führt, dass das Objekt zu seiner vorherigen Position zurückkehrt. Mit anderen Worten kehren sowohl seine Position als auch seine Orientierung zu ihren früheren Konfigurationen zurück.

Beispiele

In diesem Beispiel wird die Modell-View-Matrix für ein Objekt berechnet, indem die View-Matrix mit der Pose-Matrix des Objekts multipliziert wird.

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,
  );

  // …
}

Dieses Grundgerüst des Kerncodes eines Renderers zeigt, wie die Ansicht der Pose dargestellt wird, indem die Matrix des Inversen der Transformation als Modell-View-Matrix verwendet wird, um Objekte basierend auf der Position und Orientierung des Betrachters zu transformieren. Die Matrix des Inversen wird mit der Matrix des Objekts multipliziert, um die Modell-View-Matrix zu erhalten, die dann durch das Setzen eines Uniforms in das Shader-Programm übergeben wird.

Spezifikationen

Specification
WebXR Device API
# dom-xrrigidtransform-inverse

Browser-Kompatibilität

BCD tables only load in the browser