Wstęp do grafiki komputerowej 3D

Opis kursu:

Kurs podzielony jest na 7 wykładów prezentujących podstawowe zagadnienia współczesnej grafiki czasu rzeczywistego. Przedstawiony materiał zawiera zarówno aspekty teoretyczne jak i implementacyjne.

Cele i zarys tematyczny kursu:

Celem kursu prezentacja podstawowych koncepcji trójwymiarowej grafiki komputerowej. Ze względu na ograniczenia czasowe kurs w części praktycznej będzie dotyczył jedynie współczenej grafiki czasu rzeczywistego, i zostanie zrealizowany przy pomocy biblioteki OpenGL w wersji 4.6 (minimalna potrzebna wersja to 3.3).

W skrócie materiał kursu przedstawia się następująco:
  1. Zagadnienia wstępne oraz koncepcja ogólnego modelu rzutowania w 3D
  2. Podstawowe przekształcenia grafiki trójwymiarowej oraz implementacja ogólnego rzutu w języku macierzy n
  3. Algorytmy zasłaniania – z-bufor i metoda śledzenia promie
  4. Wstęp do teorii koloru oraz podstawowe modele odbicia światła w grafice 3D
  5. Teksturowanie wielokątów
  6. Globalne algorytmy oświetlenia – metoda śledzenia promieni i niektóre uogólnienia
  7. Niektóre efekty specjalne - bardziej zaawansowane zastosowania shaderów

Wymagania:

Elementarna znajomośc algebry liniowej oraz języka C/C++

Literatura:

Wykłady są dostępne w wersji prezentacji online, niemniej wymagają uzupełnienia i utrwalenia wiadomości przez przeczytanie wersji do druku. Materiał do wykładów i ćwiczeń w zasadniczej części można następujących książkach:

  1. J. Foley, A. Van Dam, S. Feiner, J. Hughes, R. Philips, Wprowadzenie do grafiki komputerowej, WNT, 1995.

  2. J. de Vries, Learn OpenGL: Learn modern OpenGL graphics programming in a step-by-step fashion,Kendall & Welling, 2020. (oficjalna wersja pdf)

  3. P. Kiciak OpenGL i GLSL (nie taki krótki kurs), cz. 1-3, PWN, 2019.