Hi, I think the function wrongly extracts (or rather exchanges) yaw/pitch angles. According to the comment in the function:
Code: Select all
// rot = cy*cz cz*sx*sy-cx*sz cx*cz*sy+sx*sz
// cy*sz cx*cz+sx*sy*sz -cz*sx+cx*sy*sz
// -sy cy*sx cx*cy
rfPAngle = Math::ASin( -m[2][0] );
The value stored in m[2][0] is a sinus of yaw angle and not pitch. Note that the comment seems to be written correctly according to this link.
I support the problem is also in ogre 1.x branch, but I have source code checkout only of 2.x branch, I am reporting it here.
