Grafika komputerowa jest obecna w grach, filmach, reklamach czy interfejsach
użytkownika. Dlatego warto zrozumieć jak powstaje i poznać kluczowe standardy
i algorytmy. Umożliwi to nie tylko posługiwanie się ze zrozumieniem gotowymi
silnikami graficznymi ale także sprawne pisanie własnych gier i aplikacji np.
przy użyciu API OpenGL. Wykład jest także wprowadzeniem do bardziej
zaawansowanych przedmiotów z grafiki komputerowej i jest przeznaczony dla
studentów od drugiego roku.
Na wykładzie wprowadzone jest teoria i podstawowe metody, które umożliwiają
efektywne programowanie grafiki z użyciem kart graficznych. Na pracowni uczymy
się praktyki programowania w nowym OpenGL (wersja 3.3 lub nowsza). Wykład nie
jest jednak kursem tylko biblioteki OpenGL ale skupia się nad zrozumieniem
podstaw takich jak np. efektywne metody przekształcenia układów współrzędnych
i algorytmy renderingu.
Omawiane zagadnienia:
* Przekształcenia w jednorodnym układzie współrzędnych
* Efekrtywne reprezentacje rotacji w tym kwaterniony
* Modelowanie wirtualnej kamery i obiektów 3D
* Widoczność: algorytm z-bufora, śledzenie promieni i inne
* Modelowanie i obliczanie oświetlenia
* Rasteryzacja i antialiasing
* Światło i kolor w grafice, modele koloru
* Teksturowanie 2D/3D, tekstury proceduralne
**Wymagania:** Algebra, Algorytmy i struktury danych, Analiza numeryczna,
umiejętność programowania w C/++
**Literatura:** P. Shirley, "Fundamentals of Computer Graphics", A.K.Peters,
Natick Massachusetts 2002.