Celem projektu było napisanie aplikacji, która będzie realizowała funkcję wirtualnej kamery. Umożliwia ona wyświetlać z różnych perspektyw załadowane modele z rozszerzeniem .obj. Wszystkie operacje zostały wykonane bez użycia zewnętrznych bibliotek grafiki trójwymiarowej.
Przed uruchomieniem aplikacji należy wybrać pliki obj do załadowania po przez umieszczenie ich lokalizacji w pliku o nazwie files_to_load.txt. Następnie po uruchomieniu aplikacji ukaże się nam załadowany przez nas model. W celu poruszania należy korzystać z następujących klawiszy:
- W i S – translacja przód tył(Oś Z)
- A i D – translacja lewo prawo(Oś X)
- Q i E – translacja góra dół (Oś Y)
- I i K – pochylenie w góre dół (rotacja względem osi X)
- J i L – Obrót w lewo prawo (rotacja względem osi Y)
- U i O – Przechylenie kamery/głowy w lewo prawo(rotacja względem osi Z)
- T i G – Zoom(Zmiana odległości obserwatora od rzutni)
The main aim of the project was to create an application that can perform the functions of a virtual camera. It allows displaying 3D models from different perspectives. 3D models are loaded from .obj extension files. All the functionalities were made without using any 3D libraries.
Before running an app, it is necessary to choose .obj files to load, to do that you have to edit the files_to_load.txt and pass their paths to those files. Then after you run the application your model will be displayed on the screen. In order to move you have to press buttons:
- W i S – translation in Z axis
- A i D – translation in X axis
- Q i E – translation in Y axis
- I i K – rotation around X axis
- J i L – rotation around Y axis
- U i O – rotation around Z axis
- T i G – Zoom(distance between observer and projection surface)