   Adjusting quaternions from DX Axis to OGL Axis
  Hi there.I'm loading some models from Dawn of War (great game, btw) and I still have the same problem than before. The models were written with DX in mind, not OpenGL. So, the quaternions, vectors, etc, all have the Z axis opposite than the one in OpenGL.So, if i load the model, and draw it, this is what appears.http://sites.google.com/site/rhiakathimages/Home   ( check the last image )As you can see, the banner on the model's hand is flipped. If I use glScalef (1,1,-1) and adapt backface culling accordingly, everything displays correctly, but the model will be facing away from me.I can always rotate the model, but that's not the problem. I want the model data to be corrected, not "hacking" the opengl matrix to make it look good. Otherwise, simple things like culling, bounding boxes, etc, will all have data that will not represent the model as shown.So. How can i invert these quaternions? Take in mind that simply negating Z will not work. To see why, imagine a simple animation:Imagine the model having both arms extended forward. Then, the animation tells it to extend his arms to the sides. Basically, rotate the arms around the Y axis. The rotation does not use the Z axis, but the arms should perform an arc on the opposite direction.Any clues?Thanks in advance.   
  Only have time for a short answer right now, but here's my suggestion.Neither D3D/DX nor OpenGL have any 'inherent' coordinate system handedness or orientation - each can be set up to be right-handed or left-handed with the 'world axes' oriented in whichever way you prefer.So, the easiest solution would probably be simply to set up your coordinate system so that it matches the source data. Unless this won't work for you for some reason, this is what I'd recommend.   ;  I am not sure whether quaternions have an inherent axis, I think not, did you tried using them as-is? I think the difference is made on how you construct a matrix out of them. I may be mistaken though.   ;Quote:Original post by RhiakathSo. How can i invert these quaternions? Take in mind that simply negating Z will not work. Yup, negate X and Y. Quats will have to be in world space though (you'll have to convert back to local afterwards)   