460-2021/03 – Základy počítačové grafiky (ZPG)
| Garantující katedra | Katedra informatiky | Kredity | 4 |
| Garant předmětu | Ing. Martin Němec, Ph.D. | Garant verze předmětu | Ing. Martin Němec, Ph.D. |
| Úroveň studia | pregraduální nebo graduální | Povinnost | volitelný odborný |
| Ročník | 3 | Semestr | zimní |
| | Jazyk výuky | čeština |
| Rok zavedení | 2019/2020 | Rok zrušení | |
| Určeno pro fakulty | FEI | Určeno pro typy studia | bakalářské |
Cíle předmětu vyjádřené dosaženými dovednostmi a kompetencemi
Studenti se během předmětu seznámí se základními principy 3D počítačové grafiky s využitím jazyka C++ a grafického API OpenGL (případně Vulkan) a prakticky si vyzkouší práci se shadery v jazyce GLSL. Postupně projdou jednotlivé kroky od načtení 3D modelu až po jeho vizualizaci, doplněnou o práci s kamerou, transformace objektů a celé scény, nastavování osvětlení, práci s texturami, normálovými mapami, stíny, tvorbu skyboxu a další.
Vyučovací metody
Přednášky
Cvičení (v učebně)
Anotace
Cílem předmětu je seznámit studenty se základními principy 3D počítačové grafiky s využitím grafického API OpenGL (případně Vulkan) a práce se shadery v jazyce GLSL. Studenti získají základní znalosti o činnosti grafické karty a zobrazovacího řetězce, osvojí si vybrané základní algoritmy a prakticky si vyzkouší implementaci klíčových technik.
Povinná literatura:
[1] Němec M.: Sylaby přednášek Základy počítačové grafiky. 2025
[2] Sojka E., Němec M., Fabián T.: Matematické základy počítačové grafiky, 2012, http://mi21.vsb.cz
[3] Khronos Group, The Khronos Group, 2025. https://www.khronos.org/
[4] Khronos Group, OpenGL - The Industry Standard for High Performance Graphics,2025. See http://www.opengl.org/.
Doporučená literatura:
Další studijní materiály
Forma způsobu ověření studijních výsledků a další požadavky na studenta
Vypracovaní souboru úloh zadaných na cvičení. Vypracování projektu.
E-learning
Materiály jsou dostupné v https://lms.vsb.cz/.
Další požadavky na studenta
Další požadavky na studenta nejsou kladeny.
Prerekvizity
Předmět nemá žádné prerekvizity.
Korekvizity
Předmět nemá žádné korekvizity.
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í na PC učebně:
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.
Podmínky absolvování předmětu
Výskyt ve studijních plánech
Výskyt ve speciálních blocích
Hodnocení Výuky