Implementasi kamera sederhana yang digunakan untuk menavigasi ke dunia 3D. Dimungkinkan untuk memutar kamera yang menggerakkan mouse, dan bergerak menggunakan tombol W, A, S dan D (ESC untuk menutup aplikasi).
Ini dapat digunakan, misalnya, dalam permainan orang pertama atau dalam aplikasi CAD.
Sebagai sebuah showcase kecil, kami membuat labirin yang sangat sederhana.
Baik rumput dan dinding diterjemahkan menggunakan shader.
Kami juga menerapkan sistem tabrakan, seperti pengguna tidak akan pergi "di dalam" dinding, tetapi akan berhenti tepat sebelum itu.
Proyek Akhir untuk Kursus Grafik Komputer (AY 2020/2021) dari University of Ferrara.
Teacher: Antonino Casile
Students: Alberto Paparella Badge number: 144261
Martina Tenani Badge number: 144739
Ada dua cara untuk pindah ke titik di luar angkasa.
Yang pertama adalah mengubah posisi kamera dan memindahkannya ke titik itu (tidak mungkin di OpenGL), yang lain mengubah posisi titik dan membawanya ke kamera.
Sederhananya, untuk menghasilkan efek bergerak maju, Anda maju sendiri, atau membawa dunia mundur.
Jadi untuk menghasilkan efek dari pergi ke titik (x, y) di ruang angkasa, dimungkinkan untuk menerjemahkan dunia ke titik (-x, -y) sebagai gantinya, dan itu akan tidak dapat dibedakan.
Jika Anda ingin melihat ke sisi kanan, putar dunia ke kiri.
Itulah sebabnya kami menggunakan nilai negatif sudut saat berputar.
Catatan Penting: Selalu putar terlebih dahulu dan kemudian terjemahkan.
Untuk sistem Collisi, kami menerapkan logika berikut: Periksa apakah langkah selanjutnya akan menemukan objek di sekitar Anda; Jika itu masalahnya, jangan perbarui matriks ke arah itu.
Buka Project Main Directory sfpg/ dengan baris perintah dan luncurkan perintah make .
Proyek ini akan membuat yang dapat dieksekusi di direktori yang sama bernama sfpg yang dapat diluncurkan dengan ./sfpg .
Semua file .o disimpan di direktori obj/ , untuk menjaga kebersihan.