Grafika komputerowa i wizualizacja (S1)
Tematyka wykładów:
Wprowadzenie do grafiki komputerowej
Pojęcia syntezy, przetwarzania i analizy obrazów.
Modele oświetlenia lokalnego i globalnego, metody renderingu (grafika realistyczna, czas rzeczywisty syntezy).
Architektura komputerowego systemu graficznego (karta graficzna, GPU, pamięć obrazu. itp.).
Kodowanie kolorów w pamięci obrazu (bufor ramki, indeksowanie z LUT (ang. Look-Up Table)).
Monitory LCD (parametry, zasada działania).
Potok graficzny
Dane wejściowe w systemach graficznych - scena 3D (reprezentacja wielokątowa obiektów, kamera, źródła światła, materiały).
Wykorzystanie rachunku macierzowo-wektorowego do transformacji geometrii (podstawowe przekształcenia geometryczne, składanie i odwracanie przekształceń, przekształcenia euklidesowe i afiniczne).
Architektura potoku graficznego czasu rzeczywistego (aplikacja->przetwarzanie geometrii->rasteryzacja).
Transformacja modelu.
Transformacja widzenia.
Cieniowanie wierzchołków.
Rzutowanie.
Obcinanie.
Transformacja do współrzędnych rastrowych.
Wypełnianie trójkątów.
Cieniowanie pikseli.
Łączenie danych (bufor Z).
Równanie oświetlenia i cieniowanie.
Pojęcie modelu oświetlenia.
Model oświetlenia Phong'a: obliczanie składowych ambient, diffuse, specular.
Cieniowanie płaskie i Gouraud'a.
Potok teksturowania (mapowanie tekstur bitmapowych, filtrowanie tekstur).
Obraz rastrowy
Tworzenie obrazu rastrowego (pojęcia próbkowania, integracji i kwantyzacji).
Częstotliwość próbkowania obrazu, teoria próbkowania Nyquista-Shannona.
Reprezentacja obrazu w dziedzinie częstotliwości, przekształcenie Fourier'a.
Rekonstrukcja obrazu.
Aliasing i metody zmniejszania aliasingu.
Grafika rastrowa
Zasady rysowania kształtów geometrycznych w rastrze (rysowanie punktów, odcinków, okręgów, linii przerywanych).
Wypełnianie obszarów w rastrze (algorytm spanline'owy (ang. edge-walking)).
Kopiowanie obszarów z wykorzystaniem funkcji logicznych (ang. bit-blitting).
Przezroczystość (ang. alpha blending).
Kolor w grafice komputerowej
Aparat widzenia człowieka, budowa i model działania.
Sposoby definiowania barw.
Widmowy rozkład energetyczny.
Funkcje dopasowania barw, przestrzeń barw CIE RGB.
Przestrzeń barw CIE XYZ, wykres chromatyczności, gama barw.
Punkt bieli.
Profile kolorów (profil sRGB).
Programowanie grafiki komputerowej
Biblioteka OpenGL, sprzętowo-programowa architektura biblioteki.
Biblioteka OpenGL ES.
Biblioteka GLUT.
Biblioteka GLUI, programowanie graficznych interfejsów użytkownika (GUI).
Shader'y, pojęcie fragmentu.
GPGPU, biblioteka CUDA, standard OpenCL.
Synteza obrazów realistycznych