Radosław Mantiuk

West Pomeranian University of Technology, Szczecin, Poland

Przedmiot: Zaawansowane techniki grafiki komputerowej (S2)

Tematyka wykładów:

  1. System grafiki komputerowej (światło -> materiał -> percepcja obrazu)
  2. Synteza obrazów metodą śledzenia promieni (pdf)
    • Algorytm ray tracingu (rekurencyjne śledzenie promieni pierwotnych i wtórnych, testowanie widoczności, wyznaczanie cieni).
    • Obliczanie promieni pierwotnych.
    • Obliczanie przecięć.
    • Równanie oświetlenia.
    • Teksturowanie.
    • Obliczanie promieni wtórnych (odbitych i załamanych).
    • Podziały przestrzeni (jednorodny podział przestrzeni, algorytm 3DDDA).
    • Antyaliasing.
  3. Techniki syntezy obrazów uwzględniające oświetlenie globalne (pdf)(pdf)
    • Metoda energetyczna (ang. radiosity).
    • Metoda map fotonowych (ang. photon mapping).
    • Metoda śledzenia rozproszonych promieni (ang. distributed ray tracing).
    • Metoda śledzenia ścieżek (ang. path tracing).
    • Metoda tworzenia wirtualnych źródeł światła (ang. instant radiosity).
  4. Układ wzrokowy człowieka (pdf)
    • Budowa oka (siatkówka, rodzaje i rozmieszczenie komórek światłoczułych, rola źrenicy, funkcje rogówki i soczewki).
    • Wstępna analiza sygnału na siatkówce (funkcje komórek nerwowych).
    • Widzenie centralne i peryferyjne.
    • Zakres czułości na zmianę jasności (widzenie skotopowe, mezotopowe i fotopowe).
    • Zmiana czułości w zależności od częstotliwości fali świetlnej.
  5. Fotometryczna reprezentacja obrazu (pdf)(pdf)(pdf)
    • Obraz w rozumieniu teorii sygnałów
    • Jasność (jednostki radiometryczne i fotometryczne).
    • Kolor
      • Widmowy rozkład energetyczny.
      • Metameryzm.
      • Przestrzeń kolorów XYZ.
      • Wykres chromatyczności.
      • Gama barw.
      • Punkt bieli.
      • Przestrzeń kolorów sRGB.
    • Zakres dynamiki jasności (obrazy HDR).
  6. Wyświetlanie obrazów (pdf)
    • Obraz rastrowy (integracja, próbkowanie, kwantyzacja).
    • Rekonstrukcja obrazu i aliasing.
    • Wyświetlanie obrazu na monitorze (budowa wyświetlacza).
    • Profile kolorów (kolory podstawowe, punkt bieli, korekcja gamma).
  7. Percepcja obrazów (pdf)
    • Progowa czułość na kontrast (funkcja TVI).
    • Progowa rozdzielczość widzenia (funkcja CSF).
    • Maladaptacja w widzeniu ponadprogowym.
    • Iluzje optyczne (fizjologiczne, percepcyjne, właściwe optyczne).
    • Porównywanie obrazów (MSE, SSIM, HDRVDP).
    • Adaptacja do jasności
      • Zmiana rozdzielczości.
      • Zmiany w percepcji kolorów.
      • Lokalna zmiana kontrastów.
      • Przebieg adaptacji w czasie.
  8. Techniki percepcyjne (pdf)(pdf)
    • Mapowanie tonów (operator liniowy, gamma, zachowujący widzenie kontrastów, dopasowanie histogramu, fotograficzny globalny i lokalny (funkcja sigmoidalna)).
    • Antyaliasing.
    • Model adaptacji do jasności.
    • Rendering uwzględniający kierunek patrzenia.

Projekt:

Implementacja programu do syntezy obrazów metodą śledzenia: śledzenie promieni pierwotnych oraz wtórnych odbitych i załamanych na powierzchni, obiekty kule oraz trójkąty, teksturowanie, przyśpieszanie obliczeń metodą jednorodnego podziału przestrzeni, antyaliasing (supersampling).

1. Implementacja operacji macierzowo-wektorowych (przykladowy projekt).

Operacje stosowane w raytracerze: dodawanie i odejmowanie wektorów, iloczyn skalarny i wektorowy, obliczanie długości wektora, mnożenie wektora przez liczbę, kopiowanie wektora, normalizacja wektora, mnożenie macierzy 3×3 razy wektor 3×1.

2. Zapis danych obrazu do pliku. Korekcja gamma.

3. Obiektowa struktura ray tracera (raytracer.hscene_simple.txtimage_simple.png).

4. Obliczanie kierunku promienia pierwotnego.

5. Obliczanie przecięć (kula, trójkąt, obliczanie wektorów normalnych).

6. Równanie oświetlenia (wyznaczanie cieni).

7. Rekurencyjne śledzenie promieni odbitych od obiektów (scene_trian.txtscene_trian.png).

8. Wczytywanie sceny z plików zewnętrznych.

9. Tekturowanie.

10. Implementacja algorytmu jednorodnego podziału przestrzeni.

11. Implementacja ray castera w OpenCL (openCL_ray_tracer.zip).