In my SharpGL application I do a very simple, mouse controlled rotation of the scene.gl.Rotate(cameraRotation.X, cameraRotation.Y, 0.0f);wherecameraRotation.Y += MousePosition.X - previousMousePositionX;cameraRotation.X += MousePosition.Y - previousMousePositionY;The problem with this is that the x rotation always comes first, so if I rotate the object around the x axis by 180 and then move my mouse left, the object will rotate to the right instead of left (since the y axis is now inverted). Is there a way to change this so that the object always rotates into the mouse movement direction, regardless of its current position? (like netfabb does it for example)
Always rotate in the direction of mouse movement
opengl
Alright, using ArcBall in SharpGL.SceneGraph.Core for my mouse controlled rotations fixed the problem. Just had to edit the followingif (length > 1.0f)        {            //  Get normalising factor.            float norm = 1.0f / (float)Math.Sqrt(length);            //  Return normalised vector, a point on the sphere.            newVector = new Vertex(scaledX * norm, scaledY * norm, 0);        }        else        {            //  Return a vector to a point mapped inside the sphere.            newVector = new Vertex(scaledX, scaledY, (float)Math.Sqrt(1.0f - length));        }in ArcBall.MapToSphere so side movements rotate the object around the y axis instead of the z axis. Works as intended now.