I’m running across an interesting problem in an Asteroids clone I’m working on. When I move my Ship by applying thrust, it moves as it should in the direction I’m pointed. However, when I rotate without applying thrust it behaves as if I do have thrust. In other words, I can make the ship move in a circle by applying thrust once and continually rotating.
I believe this has to do with the fact that in OpenGL the rotation and transformation matrices are cumulative. How do I separate these behaviors so that I could thrust in one direction and rotate without thrust and still go in the same direction, in other words without modifying the coordinate system UNLESS thrust is being applied?