Przedmiot: Zaawansowane techniki grafiki komputerowej (S2)
Tematyka wykładów:
- System grafiki komputerowej (światło -> materiał -> percepcja obrazu)
- 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.
- 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).
- 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.
- 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).
- 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).
- 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.
- 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.h, scene_simple.txt, image_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.txt, scene_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).