Browse Source

Optimized

You're right. If the normalized quaternions are in a variable or something for normal uses it's just a waste to force the change hidden inside again.
irei1as 9 years ago
parent
commit
39613c0d87
1 changed files with 2 additions and 6 deletions
  1. 2 6
      Engine/source/math/mQuat.h

+ 2 - 6
Engine/source/math/mQuat.h

@@ -227,12 +227,8 @@ inline F32 QuatF::dot( const QuatF &q ) const
 
 inline F32 QuatF::angleBetween( const QuatF & q )
 {
-   // angle between two quaternions
-   QuatF base(x,y,z,w);
-   base.normalize();
-   QuatF q_norm=q;
-   q_norm.normalize();
-   return 2.0f*mAcos(base.dot(q_norm));
+   // angle between two quaternions.
+   return mAcos(q.dot(*this)) * 2.0f;
 }
 
 #endif // _MQUAT_H_