Aleksander Denisiuk. Materiały dydaktyczne PJWSTK

Podstawy OpenGL

  1. .. (Powrót)
  2. Triangle.zip Pobierz projekt, wyświetlający trójkąt.
    1. przeanalizuj kod: gdzie się tworzy VBO, gdzie VAO i co to w ogóle jest?
    2. w jaki sposób zostało zaprogramowano, że Esc kończy pracę?
    3. skompiluj i uruchom
    4. Jako rozwiązanie w tym i kolejnych zadaniach trzeba przysłać archiwum wygenerowane poleceniem make zip.
    5. opcje linkera dla Code::Blocks w systemie Windows: -lglfw3 -lglew32 -lopengl32 jak na rysunku
    6. opcje linkera dla Code::Blocks w systemie Linux: -lX11 -lglfw -lGL -lGLU -lGLEW
    7. zmienna DEBUG w  ustawieniach Code::Blocks na rysunku
    Napisz program, który wyświetla kolejno po naciśnięciu spacji opisane niżej figury geometryczne. Utwórz w programie kilka VAO. Kolor wybierz z poniższej tabeli, gdzie n=(suma cyfr indeksu)mod10.
    nkolor
    0czerwony
    1zielony
    2niebieski
    3żółty
    4czarny
    5fuchsia
    6cyan
    7brązowy
    8oliwkowy
    9pomarańczowy
  3. (2 punkty) Dla wypełnionej gwiazdy użyj jednego wachlarza trójkątów o środku w centrum gwiazdy (GL_TRIANGLE_FAN). Czy wiesz, jak działa GL_TRIANGLE_STRIP?
  4. (2 punkty) Kontur gwiazdy zrób za pomocą linii (GL_LINES, GL_LINE_STRIP lub GL_LINE_LOOP – do wyboru).
  5. (2 punkty) Koło. Na implementację okręgu i koła nie ma ograniczeń. Ilość wierzchołków może być dowolna, ale w Blenderze jest ich 32 na okręgu.
  6. (2 punkty) Okrąg. Czemu w niekwadratowym oknie okrąg wygląda jako elipsa?
  7. (4 punkty) Dla wypełnienia zmniejsz nasycenie swojego koloru.
  8. image/svg+xml Dodanie nowego obiektu:
    1. Tablice wierzchołków i kolorów w funkcji Initialize() obiektu.
    2. Polecenie renderowania w funkcji Draw() obiektu.
    3. Rejestracja obiektu w window.h.
    4. Uzupełnienie funkcji InitModels() klasy Window.
    5. Uzupełnienie funkcji Run() klasy Window.
  9. 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
    • W każdym mailu z zadaniem podać pseudonim