From 69d96ef189f7316a25d98599ccf69485fb928661 Mon Sep 17 00:00:00 2001 From: Jens Koenen <koenen@vr.rwth-aachen.de> Date: Wed, 28 Sep 2022 10:23:56 +0200 Subject: [PATCH] Fixed incorrect Transformation in OpenXR Headset. --- src/headset/openxr_headset.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/headset/openxr_headset.cpp b/src/headset/openxr_headset.cpp index 4d298260..b79ebbb5 100644 --- a/src/headset/openxr_headset.cpp +++ b/src/headset/openxr_headset.cpp @@ -760,8 +760,7 @@ bool OpenXRHeadset::update_views() XrQuaternionf quaternion = view.pose.orientation; XrVector3f position = view.pose.position; - glm::mat4 pose_transform = (glm::mat4)glm::inverse(glm::quat(quaternion.w, quaternion.x, quaternion.y, quaternion.z)); - pose_transform[3] = glm::vec4(-position.x, -position.y, -position.z, 1.0f); + glm::mat4 pose_transform = (glm::mat4) glm::inverse(glm::quat(quaternion.w, quaternion.x, quaternion.y, quaternion.z)) * glm::translate(glm::mat4(1.0f), glm::vec3(-position.x, -position.y, -position.z)); this->head_to_eye_matrices[index] = glm::diagonal4x4(glm::vec4(1.0f, -1.0f, 1.0f, 1.0f)) * pose_transform; -- GitLab