Quote:
Originally posted by Silvercord
literally what I said before and the functions I posted, which is rotations about an arbitrary axis.
also I'm 'rolling' the camera from side to side slightly when I hit the strafe keys and everything seems to be working. Exactly why is it bad when the view vector maps onto the vector i'm rotating about, i.e lets say I want to always rotate the view vector about the y axis instead of the up vector (the upvector is calculated every frame, the y axis is a member variable that stays the same at (0, 1, 0)...both methods seem to work fine)
EDIT: and why must you put it into the matrix form again? Why can't you just find the equation form and use that/
EDIT1:
which makes sense because tha'ts the only way this could be true:
w^2+x^2+y^2+z^2=1
You won't run into any trouble, not even if you roll by rotating up- around view- vector. You could even rotate your strafe-vector around the view vector (which doesn't make any sense in a FPS), but you can't do proper rotations around your new, rotated upvector without ruining your coordinate system. If you want to do that, you need to rotate 2 vectors at a time by a function that locks the angle beween those vectors to 90 degrees.