added readme.md
This commit is contained in:
parent
09816cae60
commit
37552e274d
30
readme.md
Normal file
30
readme.md
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
Projekt na zaliczenie grafiki komputerowej i wizualizacji (2018) napisany przez
|
||||||
|
* Barbarę Bróździńską (s426093)
|
||||||
|
* Filipa Kowalskiego (s426158)
|
||||||
|
|
||||||
|
## Opis
|
||||||
|
Program napisany w C++ (OpenGL) przedstawia interaktywną scenę podwodną z pływającymi rybami. Wszystkie modele zostały stworzone w Blenderze, a tekstury w Gimpie.
|
||||||
|
|
||||||
|
Sterowanie:
|
||||||
|
WASD - poruszanie kamerą lewo/prawo/przód/tył
|
||||||
|
QE - poruszanie kamerą w górę i dół
|
||||||
|
ZX - obracanie kamery
|
||||||
|
C - przywołanie nowej ryby zwróconej w losowym kierunku przed kamerą
|
||||||
|
|
||||||
|
Początkowe ustawienie ryb i roślin jest losowe, ale seed funkcji losującej jest zawsze taki sam.
|
||||||
|
Ryby mają losowy obrót i płyną przed siebie jednocześnie delikatnie unosząc się i opadając (według funkcji sinus od czasu).
|
||||||
|
|
||||||
|
## Shadery
|
||||||
|
Każdy z modeli teksturowany jest za pomocą jednego z dwóch shaderów: shader_perlin_tex lub shader_tex.
|
||||||
|
Shader shader_perlin_tex.frag generuje teksturę proceduralną (szum perlina). Przyjmuje rządaną rozdzielczość tekstury.
|
||||||
|
|
||||||
|
## Zaimplementowane klasy
|
||||||
|
|
||||||
|
### CameraEntity
|
||||||
|
Przechowuje informacje o kamerze (pozycja, kąt) i zajmuje się jej poruszaniem, macierzą perspektywy itp.
|
||||||
|
|
||||||
|
### TexturedObject
|
||||||
|
Ładuje i przechowuje model .obj oraz przypisaną do niego teksturę i/lub shader. Zawiera metodę pozwalającą wyrenderować oteksturowany model.
|
||||||
|
|
||||||
|
### Entity3D
|
||||||
|
Powiązuje TexturedObject z jego pozycją w scenie. Jest odpowiedzialna za operacje na macierzy transformacji obiektu. Zawiera metody pozwalające na translację, rotację i skalowanie oraz renderuje model.
|
Loading…
Reference in New Issue
Block a user