Firstly, the application I am writing is a flight simulator which should have six degrees of freedom for the movement. I am having trouble with the pitch in that if you increase it enough, pressing the FORWARD key actually moves the aircraft backwards. I think it is because I am using trig functions (and they are cyclic in nature), but am not sure. If someone can help with this I would be really greatful.

Also, how would you do the roll of the aircraft (and in what order would you do the rotations using glRotate)

Thanks very much for any help,

Steve