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
Cílem předmětu je seznámit posluchače se základy počítačové grafiky. Získat přehled v oblasti základních principů 2D a zejména 3D počítačové grafiky. Posluchači se během semestru seznámí se základním principem grafické karty a zobrazovacího řetězce. Postupně budou prezentovány základní algoritmy používané v počítačové grafice. Během semestru budeme vytvářet na cvičeních aplikaci, na kterém studenti demonstrují získané znalosti. Aplikace bude umožňovat zobrazovat 3D scénu, pohybovat kamerou, objekty, nastavovat světla, barvy, textury, doplnit scénu o stíny, průhlednost, normál mapy apod.
Vyučovací metody
Přednášky
Cvičení (v učebně)
Anotace
Předmět si klade za cíl seznámit posluchače se základními možnostmi moderních grafických karet a s jejich použitím v oblasti počítačové grafiky. V předmětu jsou posluchači seznamováni se základními principy 3D grafiky s využitím grafické knihovny OpenGL (případně Vulkan). Důraz je kladen zejména na základní principy standartního zobrazovacího řetězce (rendering pipeline).
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:
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