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
opcje linkera dla Code::Blocks w systemie Linux: -lX11 -lglfw -lGL -lGLU -lGLEW
zmienna DEBUG w ustawieniach Code::Blocks na rysunku
(4
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 , .
(4
punkty) Dodaj drugą sferę, która by się obracała dookoła pierwszej. Wykorzystaj te same wierzchołki (podpowiedź: zdefiniju 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ęzyce powinny się obracać dookoło swoich osi. Tekstury księżyców widziałem na stronie Planetary Visions.
(4
punkty) Dodaj do sceny płaszczyznę z teksturą gwiezdnego nieba. Ustaw płaszczyznę tak, aby nie było widać jej krawędzi. Obróć kamerę i podnieś ją do góry, aby patrzyła na scenę trochę z góry. Obróć odpowiednio płaszczyznę z niebem, aby była prostopadła do kamery.
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ń.