Sorry, again, this tells me you haven't ever had to do any optimization of your code. You'll notice the difference between 27 FP multiply/adds and 16, when rotation is one of your hotspots. So will your users -- that could be the difference between 30fps and 60.scratchyrice wrote: C++ vs Assembly gives REAL benefits. Yes Q's may be faster, But will we notice it in reality?
FWIW, at a high level -- if you are working with Ogre scene nodes or cameras, and rotating them in any way...you are using Quaternions at a high level. Ogre has simply abstracted them for you behind what *look* like Euler angles (yaw, pitch, roll).That being said, I can understand why it is used in engines such as ogre, As small performance impacts like that are very important. But higher up, like when using the ogre engine to make a game, No-one want the hastle of Q's - Or at least i don't. Like, If i wanted to make an object point east, In euler angles, we can instantly say (Using ogre's coord system) that if we rotate the object, about the x axis -90, The object will face east. With Q's where would i start? I would have to learn precisely how it works - spending years of my life - to be able to make that very usefull type of judgement. It's just not worth it in the long run... For most applications.
You don't have to understand them, as mentioned -- you just use them. Trust me, no one who uses Quaternions in practice does anything other than what Ogre (which took its maths library code mostly from another game engine project) does: abstract the calculations away behind a more intuitive interface.

