Přeskočit na hlavní obsah
Přeskočit hlavičku
Ukončeno v akademickém roce 2020/2021

Základy počítačové grafiky

Typ studia bakalářské
Jazyk výuky čeština
Kód 460-2021/01
Zkratka ZPG
Název předmětu česky Základy počítačové grafiky
Název předmětu anglicky Fundamentals of Computer Graphics
Kreditů 6
Garantující katedra Katedra informatiky
Garant předmětu Ing. Martin Němec, Ph.D.

Osnova předmětu

Přednášky:
1. Úvod, rastrový a vektorový popis (bod, vektor, přímka, souřadný systém), generování objektů v rastru (interpolace).
2. Grafický hardware, funkční schéma (rendering pipeline). Úvod do standardního zobrazovacího řetězce (OpenGL).
3. Reprezentace 3D objektů (polygonální, CSG, procedurální reprezentace). Topologie. Formáty (OBJ apod.).
4. Transformace v PG (translace, rotace, změna měřítka), homogenní souřadný systém.
5. Promítání (perspektiva vs. ortogonální promítání), kamera, ořezání (clipping), rasterizace.
6. Barva, lidské oko, barevné modely, světlo (bodové, reflektor, směrové, plošné). Míchání barev (blending).
7. Osvětlení, intenzita osvětlení, lokální osvětlovací modely (Lambert, Phong), globální osvětlovací modely, BRDF, radiozita, ray-tracing, ambient occlusion, stínování.
8. Textury v OpenGL, texturovací jednotky, texel. UV mapování.
9. Řešení viditelnosti (z-buffer, malířův algoritmus). Skybox, skydome.
10. Optická iluze nerovnosti (bump mapping, normal mapping). Displacement mapping.
11. Stíny v počítačové grafice. Shadow mapping.
12. Úvod do křivek a ploch (Bézierova křivka a plocha).

Na cvičeních budou probírána témata teoreticky vysvětlená na přednáškách.
Cvičení:
1. Opakování matematika, matice apod. Projekt C++, link knihoven.
2. Úvod do moderního OpenGL. Struktura projektu.
3. Objekty v OpenGL, VBO, IBO, glDrawElements, glDrawArrays.
4. Pohledové a projekční transformace (MVP).
5. Shadery (vertex, fragment).
6. Phongův osvětlovací model.
7. Načtení textury (OpenCV), uv-mapování.
8. Viditelnost, skybox, skydome.
9. Normal mapping.
10. Výpočet stínů, Stínové mapy.
11. Pohyb pro křivce.
12. 3D tisk.

Povinná literatura

[1] Němec M.: Sylaby přednášek Základy počítačové grafiky.
[2] Sojka E., Němec M., Fabián T.: Matematické základy počítačové grafiky, http://mi21.vsb.cz.
[3] Khronos Group, OpenGL: the industry’s foundation for high performance graphics,2020. See http://www.opengl.org/.
[4] Khronos Group, OpenGL Overview - The Khronos Group Inc, 2020. See https://www.khronos.org/opengl/.

Doporučená literatura

[1] J. Žára, B. Beneš, J. Sochor, P. Felkel:Moderní počítačová grafika (2. vydání),Computer Press, 2005, ISBN 80-251-0454-0.
[2] J. de Vries, Learn OpenGL: Learn Modern OpenGL Graphics Programming in a Stepby-step Fashion. Kendall & Welling, 2020.
[3] S. Shekar, C++ Game Development By Example: Learn to build games and graphics with SFML, OpenGL, and Vulkan using C++ programming. Packt Publishing, 2019.