[if you rotate your head 90 degrees to the right then 90 degrees up your ears are still level, but if you rotate your head 90 degrees up then 90 degrees right your left ear is pointing up and your right ear is pointing down... the z axis has rolled]
when implementing a first person camera, one must rotate about the y axis before rotating about the x axis in order to preserve or constrain rotation of the z axis?
http://www.gamedev.net/reference/programming/features/quatcam/
i created a camera similar to this and it works fine initially
_orientation = _targetOrientation;
but when i slerp there i get some z axis roll...
_orientation = Quaternion.Slerp(_orientation, _targetOrientation, (float)time);
someone else describes a similar problem here
http://www.ogre3d.org/forums/viewtopic.php?f=2&t=50618
can anyone help please?
how can i constrain z through slerp? i have to do two slerps? or its as easy as changing the order of operations inside a slerp code? like do y before x as above?
http://opentk.svn.sourceforge.net/viewvc/opentk/trunk/Source/OpenTK/Math/Quaternion.cs?view=markup
thanks a lot