|
From: <cn...@us...> - 2009-05-31 21:08:07
|
Revision: 296
http://hgengine.svn.sourceforge.net/hgengine/?rev=296&view=rev
Author: cnlohr
Date: 2009-05-31 21:07:59 +0000 (Sun, 31 May 2009)
Log Message:
-----------
fix camera
Modified Paths:
--------------
Mercury2/src/Camera.cpp
Modified: Mercury2/src/Camera.cpp
===================================================================
--- Mercury2/src/Camera.cpp 2009-05-31 19:47:00 UTC (rev 295)
+++ Mercury2/src/Camera.cpp 2009-05-31 21:07:59 UTC (rev 296)
@@ -48,13 +48,12 @@
m_y += m->dy/1200.0f;
m_x += m->dx/1200.0f;
-
- MercuryVector Xaxis = m_lookAt.CrossProduct( MercuryVector(0,1,0) );
- Xaxis.NormalizeSelf();
-
- MQuaternion qx = MQuaternion::CreateFromAxisAngle(Xaxis, m_y);
- MQuaternion qy = MQuaternion::CreateFromAxisAngle(MercuryVector(0,1,0), m_x);
- SetRotation(qx * qy);
+
+ MQuaternion qLeftRight = MQuaternion::CreateFromAxisAngle(MercuryVector(0,1,0), m_x);
+ MercuryVector LocalLookAt = MercuryVector( 1, 0, 0 );
+ LocalLookAt = LocalLookAt.Rotate( qLeftRight );
+ MQuaternion qUpDown = MQuaternion::CreateFromAxisAngle(LocalLookAt, m_y);
+ SetRotation(qUpDown*qLeftRight);
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|