2016-03-18 2 views
0

J'essaie de changer le gluLookAt à la pression d'une touche. Par exemple, je veux regarder ma scène du haut, à droite, en bas et à gauche en appuyant sur les touches t, r, b, l. J'ai commencé par implémenter le look depuis le haut mais ça ne semble pas fonctionner en appuyant sur la touche "t", rien ne change dans ma scène. Qu'est-ce que je fais mal?Modifier gluLookAt à la pression d'une touche. Haut, Droite, Bas, Gauche

Ceci est ma méthode keyResponder:

void CDrawModel::myKeyResponder(unsigned char key, int x, int y) { 
if(key == 27) {        // The ESC key 
    glutDestroyWindow(glutGetWindow());  // kill the window 
    exit(0); 
} 


if (key == 't' || key == 'T'){ 
    gluLookAt(0, 600, 0, 
     0, 0, 0, 
     0, 600, 1); 
    cout << "T ot t pressed" << endl; 
} 

//refresh the screen after every key press... 
glutPostRedisplay(); 
} 
+1

Il semble que vous ne sachiez pas ce que fait le vecteur haut. [Cochez cette question.] (Http://stackoverflow.com/questions/5717654/glulookat-please-explain) À part cela, l'extrait que vous avez posté est trop vague. Nous ne savons pas quel type d'initialisation vous avez fait pour vos matrices et comment vous rendez votre scène. – aslg

Répondre

1

Lorsque vous appuyez sur la touche 't', votre vecteur sur LookAt doit être (0,0, -1).

Ce qui signifie que le gluLookAt doit avoir cette paramètres:

gluLookAt (0,600,0, 0,0,0, 0,0, -1)

Suggestion: essayer de comprendre ce que le vecteur des moyens pour la vue.

+0

Merci! Je vais essayer ça :) –