|
From: <cn...@us...> - 2009-10-02 06:47:16
|
Revision: 545
http://hgengine.svn.sourceforge.net/hgengine/?rev=545&view=rev
Author: cnlohr
Date: 2009-10-02 06:47:10 +0000 (Fri, 02 Oct 2009)
Log Message:
-----------
fix: There is virtually no way to SSE-ize Quaternion math efficiently, except in place on large data sets. We use quaternions in a much different way, so don't float_row it.
Modified Paths:
--------------
Mercury2/src/MQuaternion.h
Modified: Mercury2/src/MQuaternion.h
===================================================================
--- Mercury2/src/MQuaternion.h 2009-09-28 22:37:27 UTC (rev 544)
+++ Mercury2/src/MQuaternion.h 2009-10-02 06:47:10 UTC (rev 545)
@@ -73,7 +73,10 @@
inline float& Z() { return m_wxyz[3]; }
// private:
- FloatRow m_wxyz;
+ //Tricky: This cannot be a float row, otherwise all references cease to operate as one would expect.
+ //Also, for most operations, it appeared to go slower. All the moving in and out of these variables
+ //is disadvantagious.
+ float m_wxyz[4];
} M_ALIGN(32);
///Produce a matrix out of a rotation x, then y then z (how Mercury does it)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|