Powrót do listy zajęć

Laboratoria
Zajęcia odbywają się w sali 203 gmachu MiNI.
Obowiązkowe są 4 laboratoria oceniane:
  • 30.10.2023 - projekt 1,
  • do ustalenia - projekt 2,
  • do ustalenia - projekt 3,
  • do ustalenia - projekt 4.
Dodatkowo każdy z realizowanych projektów trzeba zaprezentować osobiście - może to być w terminie zajęć ocenianych jak i w innym ustalonym indywidualnie.
Pozostałę zajęcia są konsultacjami, w których udział jest nieobowiązkowy. Jeśli ktoś chciałby wziąć w nich udział proszę o kontakt przez Teamsy lub USOSmail.
Szczegółowe zasady oceniana dostępne są na stronie wykładowcy.
Edytor wielokątów Siatki trójkątów Przetwarzanie obrazów Potok renderowania
Edytor wielokątów - podstawowa specyfikacja:
  • Możliwość dodawania nowego wielokąta, usuwania oraz edycji
  • Przy edycji:
    • przesuwanie wierzchołka
    • usuwanie wierzchołka
    • dodawanie wierzchołka w środku wybranej krawędzi
    • przesuwanie całej krawędzi
    • przesuwanie całego wielokąta
  • Dodawanie ograniczeń (relacji) dla wybranej krawędzi:
    • możliwe ograniczenia:
      krawędź pozioma, krawędź pionowa
    • dwie sąsiednie krawędzie nie mogą być obie pionowe lub obie poziome
    • dodawanie wierzchołka na krawędzi lub usuwanie wierzchołka - usuwa ograniczenia "przyległych" krawędzi
    • ustawione ograniczenia są widoczne (jako odpowiednie "ikonki") przy środku krawędzi
    • powinna istnieć mozliwość usuwania relacji
  • Włączanie/wyłączanie wielokąta odsuniętego.
    • dla prawidłowego wielokąta (zamknięta łamana bez samoprzecięć) - wielokąt odsunięty nie ma samoprzecięć!
    • może istnieć kilka składowych (spójnych) wielokąta odsuniętego
    • możliwość płynnej zmiany offsetu (tylko dodatni)
    • płynna aktualizacja wielokąta oduniętego podczas modyfikacji wielokąta
  • Rysowanie odcinków - algorytm biblioteczny i własna implementacja (alg. Bresenhama) - radiobutton
  • Definiowanie nowego wielokąta oraz przesuwanie - jak najbardziej intuicyjne
  • !!!Predefiniowana scena (min 2 wielokąty) z ograniczeniami
Proszę również o przygotowanie prostej dokumentacji (może być w notatniku) zawierającej:
  • instrukcji obsługi - "klawiszologia"
  • przyjętych założeń i opisu zaimplementowanego algorytmu "relacji" oraz wyznaczania wielokąta odsuniętego
Termin oddania zadania - tydzień: 30 października. W trakcie tych zajęć - część laboratoryjna.
Zadanie CPU
Dodatkowe wymagania w stosunku do treści dostępnej na stronie dr Kotowskiego.
  • Wyświetlanie samych siatek trójkątów
  • Możliwość dostosowania triangulacji odzielnie dla X i Y
  • Mapowanie normalnych z tektury na dwa sposoby (dodawanie i zastępienie)
  • Modyfikacja współrzędnej Z każdego z wezłów
Zadanie GPU
  • Kamera orbitalna wokół wybranego punktu
  • Modyfikacja pozycji wezłów w 3D
  • Cieniowanie Phonga
  • Dowolna modyfikacja pozycji światła
  • Teselacja na GPU (shader teselacji)
  • Obliczanie parametrów powierzchni optymalnie na GPU
Reszta wymagań jak dla CPU.

Grafika 3D

Termin:
Ostatnie zajęcia w semestrze.

Wymagania aplikacji:
  • Rasteryzacja na procesorze głównym CPU z wykorzystaniem wyłącznie funkcji rysowania pikseli (własna implementacja wypełniania)
  • Obiekty złożone z wypełnionych siatek trójkątnych:
    • Jeden obiekt poruszający się (przesuwanie + obroty)
    • Kilka stałych obiektów. Jeden z nich gładki (np. interpolowana trójkatami sfera)
  • Jeśli nie ustalono inaczej, w każdym projekcie min 3 kamery (przełączanie):
    • nieruchoma obserwująca scenę
    • nieruchoma śledząca ruchomy obiekt
    • związana z ruchomym obiektem
  • Mozliwość zmiany trybu cieniowania (wypełniania trójkątów):
    • cieniowanie stałe
    • cieniowanie Gourauda
    • cieniowanie Phonga
  • W każdym projekcie kilka źródeł światła (min 3):
    • min. jeden reflektor na poruszającym się obiekcie (np. światła samochodu)
    • Musi istnieć możliwość zmiany (ręcznej lub automatycznej) kierunku świecenia reflektora (względnej) umieszczonego na obiekcie ruchomym
    • Min. jedne stałe (nieporuszające się) żródło światła (punktowe lub reflektor)
  • W każdym projekcie:
    • mgła - płynna zmiana

Proszę przygotować dokumentację (zaimplementowane lub brakujące funkcjonalności oraz 'user manual') i krótki (ok.30s) film z działania aplikacji. Pliki projektu oraz dokumenty proszę spakować do archiwum zip o nazwie będącej wydziałowym loginem (login.zip) oraz wysłać używając poniższego formularza.