Dans Win32, vous pouvez faire quelque chose pour obtenir ce qui suit l'état d'une clé:
#define KEY_DOWN(vKey) (GetAsyncKeyState(vKey) & 0x8000) ? true : false
#define KEY_UP(vKey) (GetAsyncKeyState(vKey) & 0x8000) ? false: true
vKey est un int représentant les touches valeur ASCII.
dépendant
Quand vous savez que le « zoom » touche est enfoncée, vous pouvez faire traduire
glPushMatrix();
glTranslate3f(5.0,0.0,0.0); // moves the camera +5 down the x-axis
...
glPopMatrix();
De façon réaliste, vous souhaitez utiliser un code plus complexe pour faire le zoom car cela est bien sûr sur la voir la direction. De plus, vous auriez une fonction d'état clé plus complexe qui se trouverait dans votre boucle de message et maintiendrait l'état de toutes les touches que votre application utiliserait, y compris la position de la souris et les boutons de la souris.
où puis-je obtenir une référence sur ce ?? – noob88
Eh bien, la fonction elle-même peut être trouvée avec un google rapide. http://msdn.microsoft.com/en-us/library/ms646293(VS.85).aspx Cela peut ne pas être la meilleure direction à prendre cependant. Vous devez être plus précis sur la façon dont vous créez la fenêtre opengl. Utilisez-vous GLUT par exemple? –