I am trying to rotate a 3d object in ogrekit by applying applyTorque(). This works fine when the object orientation is not changed. But for example if i rotate my object 90 degrees to the left, only the object itself seems to rotate, the orientation of the object seems to stay the same. This causes the following problem:
If i use applyTorque() while the object is still in it's begin orientation(with up Arrow keyboard button):
http://i.imgur.com/e5f24.png
If i use applyTorque() while the object is rotated 90 degrees clockwise(with up Arrow keyboard button):
http://i.imgur.com/G0CR9.png
I tried to use quaternions to change the orientation, but this doesn't seem to do anything. What am i doing wrong?
Code:
gkVector3 speedd, torque;
gkQuaternion orientation;
orientation = blockObj->getOrientation();//blockObj is the object i'm trying to rotate.
gkVector3 newX;
if(Buttonpress)){
newX = orientation * gkVector3::UNIT_X;
torque -= newX;
}
blockObj->applyTorque(gkVector3(torque.y, torque.x, torque.z));
torque=0;
I hope my explanation/question is understandable. It's hard to explain.
thanks.