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