/MATF-RG

Seminar homework for the subject "Računarska Grafika" on University of Belgrade, Faculty of Mathematics, Professor: Vesna Marinković, AP: Marko Spasić. Done in OpenGL.

Primary LanguageC++

MATF-RG - Snail Island


Projekat iz Računarske grafike, korišćen skelet sa https://github.com/matf-racunarska-grafika/project_base.git.
Rađeno uz pomoć materijala sa LearnOpenGL.com
Demo video

Uputstvo pre izvršavanja

  1. git clone https://github.com/lkora/MATF-RG.git
  2. CLion -> Open -> path/to/my/project_base
  3. Main se nalazi u src/main.cpp
  4. Cpp fajlovi idu u src folder
  5. Zaglavlja (h i hpp) fajlovi idu u include
  6. Šejderi idu u folder shaders. Vertex shader ima ekstenziju .vs, fragment shader ima ekstenziju .fs
  7. ALT+SHIFT+F10 -> project_base -> run

Uputstvo tokom izvršavanja

  • Kretanje u prostoru uz pomoć miša i tastature:
    • ESC - prekida izvršavanje programa
    • W - napred u odnosu na smer pogleda kamere
    • S - unazad u odnosu na smer pogleda kamere
    • A - kretanje u levu stranu
    • D - kretanje u desnu stranu
    • MWHEELUP - sužavanje vidnog polja "manji FOV"
    • MWHEELDOWN - proširavanje vidnog polja "veći FOV"
  • Funkcionalnosti:
    • F1 - otvara ImGUI sa svim opcijama
      Sastoji se od 3 dela koje je moguće aktivirati i deaktivirati uz pomoć checkboxova na početku glavne forme.
      Umesto ImGUI-a za kontrolu nekih opcija moguće je koristiti sledeće skraćenice za opcije:
      • C - Toggle zakljućavanje i otključavanje kamere
      • L - Toggle između Blinn-Phong i Phong Lighting modela
      • H - Toggle aktiviranje i deaktiviranje HDR efekta
      • B - Toggle aktiviranje i deaktiviranje Bloom efekta

Opis

Korišćeni Aseti

Svi korišćeni aseti se mogu naći u folderu resources, sve je pravljeno za projekat osim:

Osvetljenje scene

Sadrži jedno direkciono i 5 tačkastih izvora svetlosti, moguće je menjati usmerenje direkcionog osvetljenja kao i sve ostale parametre svetlima, osim pozicija tačkastih svetala kroz ImGUI.

Implementirane oblasti


Detalji o kursu

Seminarski rad 2021/2022
Asistent: Marko Spasić
Profesor: dr. Vesna Marinković