Przedmiot: Zaawansowane programowanie gier komputerowych (S2)
Tematyka wykładów:
- Wyświetlanie obrazów rastrowych (pdf)(pdf)
- Budowa i charakterystyka wyświetlaczy rastrowych.
- Budowa karty graficznej, procesor GPU.
- Próbkowanie, integracja i kwantyzacja sygnału dwuwymiarowego.
- Rekonstrukcja i wyświetlanie obrazu.
- Aliasing i antyaliasing.
- Korekcja gamma.
- Kalibracja kolorów (profile kolorów i CMS, SPD, metameryzm, kolorymetria, przestrzenie barw CIE RGB, CIE XYZ, wykresy dopasowania barw, wykres chromatyczności, gama barw, punkt bieli)
- System graficzny czasu rzeczywistego (pdf, pdf, pdf):
- Reprezentacja sceny.
- Operacje wektorowo-macierzowe.
- Transformacje geometrii (macierze modelu, widoku i rzutowania, clipping).
- Rasteryzacja.
- Równanie oświetlenia.
- Teksturowanie.
- Model oświetlenia (pdf)
- Źródła światła, materiały i sensory
- Funkcja BRDF
- Równanie oświetlenia
- Funkcja odbicia Fresnela
- Pojęcia radiancjii i irradiancji
- Model oświetlenia lokalnego i globalnego
- Techniki syntezy wybranych efektów graficznych
Litaratura:
- Tomas Akenine-Moller, Eric Haines, Naty Hoffman, Real-Time Rendering (3rd edition), A K Peters, 2008.
Laboriatoria:
- Omówienie struktury programu wzorcowego, środowisko IDE, repozytorium SVN.
- Obliczenia wektorowo/macierzowe (biblioteka GLM).
- Reprezentacja obiektów geometrycznych (biblioteka ASSIMP)(teaPot.ASE).
- Cieniowanie Phonga – programowanie shaderów.
- Interfejs użytkownika, sterowanie grą.
- Mechanika gry.
- Tworzenie planszy.
- Kolizje.
Programy wzorcowe: glgame4_tmo, glgame4
Zaliczenie lab. odbywa się na podstawie prototypowej gry z funkcjonalnościmi opisanymi w zakresie laboratoriów.