Odpowiedzialny za przedmiot oraz prowadzący wykłady: dr inż. hab. Radosław Mantiuk, prof. ZUT
Tematyka wykładów:
Wprowadzenie do grafiki komputerowej.
Systemy sprzętowe do renderingu obrazów (graphics_hardware).
System graficzny.
Procesor GPU (sposoby zrównoleglania obliczeń, podzespoły procesorów CPU oraz GPU, porównanie procesorów CPU i GPU).
Cyfrowa reprezentacja obrazu graficznego (raster image, HDR, color).
Próbkowanie i integracja obrazu. Rozdzielczość próbkowania obrazu. Kwantyzacja i rekonstrukcja obrazu.
Aliasing i antyaliasing (artefakty aliasingu, techniki antyaliasingu).
Korekcja gamma (kodowanie koloru po renderingu oraz jego dekodowanie przez wyświetlacz).
Obrazowanie HDRI (obraz HDR, zakres dynamiki obrazu HDR, potok HDR, oświetlenia HDR). Operatory tonów (algorytmy mapowania/kompresji tonów, operatory lokalne i globalne, fotograficzny operator tonów).
Profile kolorów (system zarządzania kolorami, profil koloru, profil sRGB, pojęcie kolorymetrii i metameryzmu, SPD, wykresy dopasowania barw, przestrzeń XYZ, wykres chromatyczności, gama barw, przestrzeń kolorów przeciwstawnych, percepcyjne przestrzenie kolorów).
Grafika rastrowa i wektorowa (raster_graphics, vector_graphics).
Rendering obrazów (scene, ray_tracing).
Scena 3D (reprezentacja obiektów geometrycznych, materiały, kamera, źródła światła, itp.).
Algorytmy renderingu obrazów (obliczanie widoczności obiektów, techniki optymalizacji).
Model oświetlenia (równanie oświetlanie) oraz teksturowanie (mapowanie tekstur).
Literatura:
Tomas Akewnine-Moller, Real-Time Rendering (Fourth edition), AK Peters, USA, 2018, 3
Kevin Suffern, Ray Tracing from the Ground Up, A K Peters/CRC Press, 2007, 1
Matt Pharr, Wenzel Jakob, and Greg Humphreys, Physically Based Rendering: From Theory To Implementation, © 2004-2021
Laboratoria (Path Tracer) (instrukcja, program wzorcowy):
Wprowadzenie do środowiska programistycznego. Tworzenie i używanie repozytorium (instrukcja GIT).
Wykonywanie przekształceń geometrycznych za pomocą bublioteki GLM.
Zapoznanie się ze wzorcową strukturą klas ray tracera.
Implementacja rzutowanie na przykładzie kamery perspektywicznej.
Tworzenie obiektów oraz obliczanie ich widoczności na przykładzie kuli i trójkąta.
Obliczanie kolorów powierzchni z wykorzystanie modelu oświetlenia lokalnego oraz techniki teksturowania.
Implementacja elementów oświetlenia globalnego: obliczania cieni oraz odbić zwierciadlanych.
Implementacja struktury podziału przestrzeni (BVH).