Eine Implementierung einer einfachen Kamera, die verwendet wird, um in eine 3D -Welt zu navigieren. Es ist möglich, die Kamera zu drehen, die die Maus bewegt, und sich mit den Tasten W, A, S und D herum bewegen (ESC, um die Anwendung zu schließen).
Es kann beispielsweise in Spielen der ersten Person oder in CAD -Anwendungen verwendet werden.
Als kleines Schaufenster haben wir ein sehr einfaches Labyrinth erstellt.
Sowohl Gras als auch Wände werden mit Shadern gerendert.
Wir haben auch ein Kollisionssystem implementiert, wie z.
Endgültiges Projekt für den Computergrafikkurs (AY 2020/2021) der University of Ferrara.
Teacher: Antonino Casile
Students: Alberto Paparella Badge number: 144261
Martina Tenani Badge number: 144739
Es gibt zwei Möglichkeiten, sich zu einem Punkt im Raum zu bewegen.
Die erste verändert die Position der Kamera und bewegt sie bis zu diesem Punkt (in OpenGL nicht möglich). Die andere ändert die Position des Punktes und bringt sie in die Kamera.
Einfach sprechen, um die Wirkung des Fortschritts zu erzielen, gehen Sie entweder vorwärts oder bringen die Welt rückwärts.
Um den Effekt zu erzeugen, dass es im Weltraum auf den Punkt (x, y) geht, ist es möglich, die Welt stattdessen auf den Punkt (-x, -y) zu übersetzen, und es wird nicht zu unterscheiden.
Wenn Sie nach rechts schauen möchten, drehen Sie die Welt nach links.
Deshalb verwenden wir die negativen Werte der Winkel beim Drehen.
Wichtiger Hinweis: Immer zuerst drehen und dann übersetzen.
Für das Collissionssystem haben wir die folgende Logik implementiert: Überprüfen Sie, ob der nächste Schritt das Objekt um Sie herum lokalisiert; Wenn dies der Fall ist, aktualisieren Sie die Matrizen nicht in diese Richtung.
Gehen Sie zum Projekt Main Directory sfpg/ mit der Befehlszeile und starten Sie den Befehl make .
Das Projekt erstellt eine ausführbare Datei im selben Verzeichnis namens sfpg , das mit ./sfpg gestartet werden kann.
Alle .O -Dateien werden im obj/ Verzeichnis gespeichert, um die Dinge sauber zu halten.