Detail předmětu

Moderní počítačová grafika

FEKT-MKC-MPGAk. rok: 2020/2021

Předmět se věnuje počítačové grafice a 3D modelování. Cílem je představit modelování scén počítačem jak po teoretické tak po praktické stránce. Témata pokrývají široký rozsah od barevných modelů přes 3D modelování pomocí polynomů a sítí vrcholů až po implementaci, včetně využití možností GPU.

Jazyk výuky

čeština

Počet kreditů

6

Výsledky učení předmětu

V rámci přednášek studenti získají znalosti z oblasti počítačové grafiky teoretického charakteru a cvičení slouží k nabytí praktických zkušeností -- zejména se jedná o implementaci 2D a 3D modelů pomocí knihovny OpenGL.

Prerekvizity

Jsou požadovány znalosti na úrovni bakalářského studia Teleinformatika. Znalost zpracování signálu výhodou.

Plánované vzdělávací činnosti a výukové metody

Metody vyučování zahrnují přednášky a cvičení na počítači. Předmět využívá e-learning (Moodle). Student odevzdává jeden samostatný projekt.

Způsob a kritéria hodnocení

Řešení zadaného projektu: max. 25 bodů
Test ve cvičeních: max. 12 bodů
Úlohy ve cvičeních: max. 3 bodů
Zkouška: max. 60 bodů, minimum 20 bodů

Osnovy výuky

1. Barevné modely a barevné prostory. Reprezentace obrazu v počítači: formáty čísel, paměť, režimy.
2. 2D grafika: křivky, navazování křivek, polynomy, Bézierovy kubiky.
3. 2D grafika: racionální Bézierovy kubiky, NURBS. Rasterizace úsečky, kružnice, elipsy a Bézierovy křivky.
4. 3D grafika: polygony, sítě, subdivisions, Catmull-Clark, T-splines.
5. 3D grafika: parametrická definice plátu, navazování plátů, Bézierovy bikubiky, NURBS.
6. 3D grafika: homogenní souřadnice, geometrické transformace, projekce, perspektiva.
7. Osvětlovací modely, stínování, vržení stínu.
8. Viditelnost. Globální zobrazovací modely.
9. Textury a jejich mapování. Bitmapové textury. Komprese textur, interpolace v texturách, aliasing. Procedurální textury.
10. Grafické procesory, graphic pipeline. Paralelizace a CUDA.

Učební cíle

Seznámit studenty s 3D modelováním, počínaje definicí objektů, přes jejich manipulaci a interakci s uživatelem, až po implementaci na grafických procesorech. Seznámit posluchače s knihovnou OpenGL a naučit studenty využít OpenGL k vytvoření a zpracování 3D obrazové informace.

Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky

přednášky jsou nepovinné
počítačová cvičení jsou povinná
odevzdání samostatného projektu je povinné

Základní literatura

RAJMIC, P.; SCHIMMEL, J. Moderní počítačová grafika. Brno: Vysoké učení technické v Brně, 2013. ISBN: 978-80-214-4906- 0. (CS)
Žára, J., Beneš, B., Sochor, J., Felkel, P.: Moderní počítačová grafika. Druhé vydání. Computer Press, 2005. ISBN 80-251-0454-0 (CS)

Doporučená literatura

Foley, J.D., van Dam, A., Feiner, S.K., Hughes, J.F.: Computer Graphics, Principles and Practice, Addison Wesley, 1990 (EN)

Zařazení předmětu ve studijních plánech

  • Program MKC-TIT magisterský navazující 1 ročník, letní semestr, povinně volitelný

Typ (způsob) výuky

 

Přednáška

26 hod., nepovinná

Vyučující / Lektor

Osnova

2D grafika: křivky, navazování křivek, polynomy, Bézierovy kubiky
2D grafika: racionální Bézierovy kubiky, NURBS. Rasterizace úsečky, kružnice, elipsy a Bézierovy křivky.
3D grafika: polygony, sítě, subdivisions, Catmull-Clark, T-splines
3D grafika: parametrická definice plátu, navazování plátů, Bézierovy bikubiky, NURBS
3D grafika: homogenní souřadnice, geometrické transformace
3D grafika: projekce, perspektiva.
Osvětlovací modely, stínování, vržení stínu.
Viditelnost. Globální zobrazovací modely.
Textury a jejich mapování. Bitmapové textury.
Komprese textur, interpolace v texturách, aliasing. Procedurální textury.
Reprezentace obrazu v počítači: formáty čísel, paměť, režimy reprezentace, barevné modely a prostory
Grafické procesory, graphic pipeline. Paralelizace a CUDA.

Cvičení na počítači

26 hod., povinná

Vyučující / Lektor

Osnova

Úvod do OpenGL: popis systému, instalace a zprovoznění GLUT, práce s okny; události, systém obsluhy, onDisplay, onReshape. Základy vykreslování: vertex a způsoby vykreslování, 2D – body, čáry, vyplněné útvary, vykreslování křivek sledem úseček.
Základy vykreslování ve 2D: vlastnosti vertexu – definice barev, množiny souřadnic a vlastností – vertex arrays. Komunikační prostředky – klávesnice, myš, timery (animace bez zásahu uživatele), double buffer, UI – menu
Bézierovy křivky ve 2D a interakce s uživatelem. Práce s bitmapami (obrázky, texty). 3D: vertex arrays, kvadriky.
3D: Bézierovy pláty ve 3D. Subdivisions. Zapojení uživatelské interakce do subdivisions.
3D: Geometrické transformace, transformační matice, jednoduché příklady.
3D: zobrazení, perspektiva, ořezávací algoritmy (malířův, z-buffer), efekty mlhy, Phongův osvětlovací model, normály.
3D: textury a práce s texturami, pokročilé vlastnosti; mipmapping, blending, kvadriky.
3D: graf scény - dědění vlastností a transformací objektů ve 3D, pohyb ve 3D prostoru, Bézierovy pláty.
3D: Vysokoúrovňová animace spojených segmentů
Test -- OpenGL. Úvod do Blenderu.
Blender -- pokračování, modelování 3D útvarů, export modelu, načtení a práce se souborem .obj v rámci OpenGL.
OpenCV -- přístupy k pixelům 2D obrazu. Intel Peformance Primitives: gamma korekce, převody mezi barevnými modely.