From f0b916b2753b8a499fbcdfbaeb5b20b793cb2860 Mon Sep 17 00:00:00 2001 From: Diren D Bharwani Date: Thu, 8 Sep 2022 23:21:02 +0800 Subject: [PATCH] Added missing inverse function for Quaternions --- SHADE_Engine/src/Math/SHQuaternion.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/SHADE_Engine/src/Math/SHQuaternion.cpp b/SHADE_Engine/src/Math/SHQuaternion.cpp index 6164dcb3..208f131d 100644 --- a/SHADE_Engine/src/Math/SHQuaternion.cpp +++ b/SHADE_Engine/src/Math/SHQuaternion.cpp @@ -258,6 +258,17 @@ namespace SHADE return result; } + SHQuaternion SHQuaternion::Inverse(const SHQuaternion& q) noexcept + { + SHQuaternion result; + + const XMVECTOR Q = XMLoadFloat4(&q); + XMStoreFloat4(&result, XMQuaternionInverse(Q)); + + return result; + } + + float SHQuaternion::Angle(const SHQuaternion&, const SHQuaternion&) noexcept { // TODO (Diren)