mirror of
https://github.com/HandmadeMath/HandmadeMath.git
synced 2025-09-25 19:38:31 +00:00
Removed Unnecessary Square Root from InverseQuaternion. Closes #136
This commit is contained in:
@@ -3107,20 +3107,14 @@ hmm_quaternion HMM_PREFIX(InverseQuaternion)(hmm_quaternion Left)
|
|||||||
{
|
{
|
||||||
ASSERT_COVERED(HMM_InverseQuaternion);
|
ASSERT_COVERED(HMM_InverseQuaternion);
|
||||||
|
|
||||||
hmm_quaternion Conjugate;
|
|
||||||
hmm_quaternion Result;
|
hmm_quaternion Result;
|
||||||
float Norm = 0;
|
|
||||||
float NormSquared = 0;
|
|
||||||
|
|
||||||
Conjugate.X = -Left.X;
|
Result.X = -Left.X;
|
||||||
Conjugate.Y = -Left.Y;
|
Result.Y = -Left.Y;
|
||||||
Conjugate.Z = -Left.Z;
|
Result.Z = -Left.Z;
|
||||||
Conjugate.W = Left.W;
|
Result.W = Left.W;
|
||||||
|
|
||||||
Norm = HMM_PREFIX(SquareRootF)(HMM_PREFIX(DotQuaternion)(Left, Left));
|
Result = HMM_PREFIX(DivideQuaternionF)(Result, (HMM_PREFIX(DotQuaternion)(Left, Left)));
|
||||||
NormSquared = Norm * Norm;
|
|
||||||
|
|
||||||
Result = HMM_PREFIX(DivideQuaternionF)(Conjugate, NormSquared);
|
|
||||||
|
|
||||||
return (Result);
|
return (Result);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user