przeanalizuj kod: znadź, gdzie się tworzy tekstura, gdzie się ustawia unit teksturowy?
opcje linkera dla Code::Blocks w systemie Windows: -lglfw3 -lglew32 -lopengl32 jak na rysunku
(2
punkty) Napisz program, który wyświetla obacającą się sferę. Nałóż na sferę teksturę planety. Swoją planetę wybierz z tabeli, gdzie :
planeta
0
Merkury
1
Wenus
2
Ziemia
3
Mars
4
Jowisz
5
Saturn (bez pierścieni)
6
Uran
7
Neptun
8
Pluton
Teksturę dla swojej planety znajdź w Internecie. Na przykład, pobierz od Jamesa Hastingsa-Trew'ego. Parametryzacja sfery o promieniu : gdzie , .
(2
punkty) Dodaj drugą sferę, która by się obracała dookoła pierwszej. Wykorzystaj te same wierzchołki (podpowiedź: zdefiniuj dodatkową macierz model_matrix_). Nałóż na tę sferę teksturę księżyca swojej planety (dla Merkurego lub Wenus weź teksturę księżyca innej planety). Planety i księżyce powinny się obracać wokół swoich osi. Tekstury księżyców widziałem na stronie Planetary Visions.
(2
punkty) Dodaj do sceny płaszczyznę z teksturą gwiezdnego nieba. Ustaw płaszczyznę tak, aby nie było widać jej krawędzi.
Czynności:
Zmień parametryzację w funkcji Initialize() z torusa na sferę. W szczególności, kąt φ powinien się zmieniać w przedziale od do . Zastosuj interpolację liniową.
Dodaj drugą macierz model_matrix_, uzupełnij procedury Move() oraz Draw().
Dodaj nową teksturę: zadeklaruj w window.h, uzupełnij procedurę InitTextures(). W klasie Texture zaimplementowane wczytywanie tylko tekstur z plików TGA, w modelu RGB, bez kompresji.
Dodaj drugi obiekt texture_ w modelu. Dodaj funkcję podobną do SetTexture(). Unit teksturowy może pozostać ten sam. Uzupełnij procedurę Draw().
Płaszczyzna. Zmień inicjalizację: współrzędne wierzchołków, współrzędne teksturowe. Tektura powinna się rozciągać na całą płaszczyznę bez powtórzeń.
Termin oddania zadań:
klasowych: na zajęciach. Zadania, oddane po terminie, warte są połowę punktów
domowych: do momentu, gdy się pojawi następne zadanie. Zadania, oddane po terminie, warte są 0 (słownie: zero) punktów