   camera controls
  Hey guys.I made a post yesterday on the OpenGL section of this forum explaining that I didn't understand how to implement rotating with with the mouse, then I worked it out by trial and error.Now today I've realised that there's another significant error in my method.If I calculate the amount that I rotate the camera by using the mouse position then there will come a point where I can't rotate the camera anymore because the cursor will have reached the edge of the screen =SHow do you guys normally handle a first person camera with the mouse cursor?(examples with GLUT would be gratefully received =))Thanks for reading,Ollie.   
  Normally you read the mouse position and then set it to the center of the screen every frame.  Then the delta for that frame is: curPos - screenCenter.  That way you get the movement that happened since last frame but the cursor always remains basically in the center of the screen.  So this doesn't look weird to the user, hide the cursor.If you need the mouse (like in World of Warcraft) the paradigm is slightly different.  You normally require the user to hold down a button (right mouse button by default in WoW).  When that button is down you hide the cursor and do the same as the above but instead of re-setting it to the center of the screen each frame, you reset it to the position it was when the user first clicked the right-mouse button.  This is basically a special state that is only active whilst the right-mouse button is held down.  Releasing the button re-shows the mouse and disables mouse camera movement.-me   ;  Thankyou for the swift reply,The problem is, if I set the mouse cursor the the centre of the screen then the glutPassiveMotionFunc registers that there's been some kind of motion, which is obviously undesirable =SI'm not entirely sure how to get around this to be honest, I didn't realise that this would be so troublesome!Ollie.   