2016-03-18 8 views
0

Ich versuche, das gluLookAt beim Drücken der Taste zu ändern. Zum Beispiel möchte ich meine Szene von oben, rechts, unten und links betrachten, indem ich die Tasten t, r, b, l drücke. Ich habe angefangen, den Look von oben zu implementieren, aber es scheint nicht zu funktionieren, wenn ich die "t" -Taste drücke, in meiner Szene ändert sich nichts. Was mache ich falsch?Ändern Sie gluLookAt beim Drücken der Taste. Oben, rechts, unten, links

Das ist meine keyResponder Methode:

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

Es scheint, dass Sie nicht wissen, was der up-Vektor tut. [Überprüfen Sie diese Frage.] (Http://stackoverflow.com/questions/5717654/glugookat-please-explain) Abgesehen davon ist das von Ihnen gepostete Snippet zu vage. Wir wissen nicht, welche Art von Initialisierung Sie für Ihre Matrizen vorgenommen haben und wie Sie Ihre Szene rendern. – aslg

Antwort

1

Wenn Sie die 't' Taste drücken, Ihr vektor auf LookAt muß (0,0, -1).

Was bedeutet, dass die gluLookAt diese Parameter haben muss:

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

Vorschlag: versuchen zu verstehen, was der Vektor auf Mittel für die Aussicht.

+0

Danke! Werde das versuchen :) –

Verwandte Themen