Přeskočit na hlavní obsah
Přeskočit hlavičku

Počítačová grafika II

Typ studia navazující magisterské
Jazyk výuky čeština
Kód 460-4033/02
Zkratka PG II
Název předmětu česky Počítačová grafika II
Název předmětu anglicky Computer Graphics II
Kreditů 4
Garantující katedra Katedra informatiky
Garant předmětu Ing. Tomáš Fabián, Ph.D.

Osnova předmětu

Přednášky:

- Základní struktury a operace používané v počítačové grafice, projektivní prostor, homogenní souřadnice.
- Představení standardů OpenGL a Vulkan, stručná historie, srovnání, přehled aplikačních oblastí.
- Zobrazovací řetězec OpenGL, zaměření na programovatelnou část, jazyk GLSL.
- Práce s buffery, způsob jejich konstrukce, možnosti využití, mapování.
- Pokročilé stínování, práce s mnoha materiály.
- Pokročilé osvětlovací modely, odložené stínování, zastínění okolím, modifikace normál apod.
- Techniky generování stínů pomocí stínových map a objemů.
- Modelování povrchů přímo na GPU, teselace a generování geometrie.
- Pokročilé shadery a jejich kombinace s rekurzivním sledováním paprsků.
- Další možnosti hardwarového urychlení rekurzivního sledování paprsků na GPU.
- Vizualizace specifických dat – částicové systémy.
- Integrace fyzikálního modelu do scény.
- Herní enginy, jejich základní stavba.
- 3D grafika ve virtuální a rozšířené realitě.


Cvičení na počítačové učebně:

- Zprovoznění C++ šablony pro řešení úloh zadaných na cvičeních, představení základních tříd pro konstrukci scény, načítání scény z grafických formátů.
- Vytvoření základních shaderů v jazyce GLSL, konstrukce MVP matice, integrace scény, aplikace jednoduchých shaderů na vybraných objektech.
- Práce s buffery (geometrickými i obrazovými).
- Pokročilé stínování, materiály, práce s mnoha materiály.
- Pokročilé techniky texturování, mapování textur a jejich tvorby (PBR materiály).
- Pokročilé osvětlovací modely, zastínění okolím, apod.
- Techniky modifikace normál povrchu, výpočet lokálního souřadného systému TBN (např. bump mapping, normal mapping, displacement mapping, parallax mapping).
- Generování stínů pomocí shadow mappingu a stencil bufferu.
- Implementace odloženého stínování a jeho využití ve spojení s rekurzivním sledováním paprsků (zaměřeno na stíny, odraz a lom).
- Použití knihoven pro hardwarovou akceleraci metod rekurzivního sledování paprsků (např. OptiX, Radeon Rays).
- Vytvoření a vizualizace vybraného částicového systému.
- Integrace fyzikálního systému do scény (kolize, základní dynamika scény).

Na cvičeních se řeší konkrétní úlohy z probrané oblasti. Implementačním jazykem je C++.

Povinná literatura

[1] Gordon, V. S., Clevenger, J. Computer Graphics Programming in OpenGL with C++. Mercury Learning & Information, 2nd edition, 2020.
[2] Sellers, G., Wright, R. S., Haemel, N. OpenGL Superbible: Comprehensive Tutorial and Reference. Addison-Wesley Professional, 2015, 880 stran, 7th edition, ISBN 978-0672337475 .
[3] De Vries, J.: Learn OpenGL: Learn modern OpenGL graphics programming in a step-by-step fashion. Kendall & Welling, 2020, 522 stran, ISBN 978-9090332567 .
[4] Sojka, E.: Počítačová grafika II: metody a nástroje pro zobrazování 3D scén, VŠB-TU Ostrava, 2003, ISBN 80-248-0293-7 .
[5] Sojka, E., Němec, M., Fabián, T.: Matematické základy počítačové grafiky, VŠB-TU Ostrava, 2011.
[6] Stroustrup, B. The C++ Programming Language. Addison-Wesley Professional, 4th edition, 2013.

Doporučená literatura

[1] Pharr, M., Jakob, W., Humphreys, G.: Physically Based Rendering, Third Edition: From Theory to Implementation, Morgan Kaufmann, 2016, 1266 stran, ISBN 978-0128006450 .
[2] Haines, E., Akenine-Möller, T. (ed.): Ray Tracing Gems: High-Quality and Real-Time Rendering with DXR and Other APIs. Apress, 2019, 607 stran, ISBN 978-1484244265 .
[3] Shirley, P., Morley, R. K.: Realistic Ray Tracing, Second Edition, AK Peters, 2003, 235 pages, ISBN 978-1568814612 .
[4] Akenine-Möller, T., Haines, E., Hoffman, N.: Real-Time Rendering, Fourth Edition, AK Peters, 2018, 1198 pages, ISBN 978-1351816151 .