460-4033/01 – Počítačová grafika II (PG II)
Garantující katedra | Katedra informatiky | Kredity | 4 |
Garant předmětu | Ing. Tomáš Fabián, Ph.D. | Garant verze předmětu | doc. Ing. Petr Gajdoš, Ph.D. |
Úroveň studia | pregraduální nebo graduální | | |
| | Jazyk výuky | čeština |
Rok zavedení | 2010/2011 | Rok zrušení | 2014/2015 |
Určeno pro fakulty | FEI | Určeno pro typy studia | navazující magisterské |
Cíle předmětu vyjádřené dosaženými dovednostmi a kompetencemi
Cílem předmětu je doplnit a rozšířit témata, se kterými se mohl posluchač seznámit v předmětu Počítačová grafika I se zaměřením na syntézu obrazu v reálném čase pomocí rasterizace i hybridních přístupů. Důraz je kladen na praktické použití grafických API OpenGL a Vulkan při vytváření programů pro zobrazování 3D scén demonstrujících jednotlivá probíraná témata.
Absolvent předmětu dokáže:
- definovat afinní a projektivní transformace,
- popsat základní části standardního zobrazovacího řetězce,
- orientovat se ve struktuře API OpenGL,
- konfigurovat jednotlivé parametry grafického rozhraní a vytvářet kód pro jeho programovatelné části v jazyce GLSL,
- vytvářet složitější zobrazovací řetězce pokročilých technik (odložené stínování, generování stínů, simulace globálního osvětlení),
- systematicky analyzovat a odstraňovat chyby v grafickém výstupu,
- kombinovat rasterizaci s technikami rekurzivního sledování paprsků,
- vytvářet aplikace pro zobrazování interaktivní 3D grafiky.
Vyučovací metody
Přednášky
Individuální konzultace
Cvičení (v učebně)
Anotace
Náplň tohoto předmětu si klade za cíl rozšířit posluchačovy znalosti získané v předmětu Počítačová grafika I o techniky syntézy obrazu v reálném čase pomocí moderních grafických API stavějících na možnostech soudobých grafických akcelerátorů. Důraz je kladen na popis jednotlivých částí standardního zobrazovacího řetězce, ale rovněž jsou probírány pokročilé hybridní přístupy kombinující rasterizaci s metodami rekurzivního sledování paprsků pro dosažení realistické podoby výsledných obrazů. Teoretické poznatky získané během rozboru dílčích úloh slouží jako základ pro praktickou implementaci konkrétních příkladů na cvičeních. Cvičení tedy úzce korespondují s přednáškami a předpokládá se praktická realizace zmíněných témat v prostředí jazyka C++.
Povinná literatura:
Doporučená literatura:
Forma způsobu ověření studijních výsledků a další požadavky na studenta
Podmínky udělení zápočtu:
Řešitelská skupina odevzdá projekt, který bude řešit zadané téma. Jeho funkční část bude prezentována v rámci cvičení v zápočtovém týdnu. Každý bude mít krátkou prezentaci na zvolené téma z oblasti počítačové grafiky.
E-learning
Další požadavky na studenta
Předpokládá se, že má student znalosti programování v C, C++.
Prerekvizity
Předmět nemá žádné prerekvizity.
Korekvizity
Předmět nemá žádné korekvizity.
Osnova předmětu
Přednášky:
Přednášky jsou tematicky rozděleny, přičemž za stěžení se považuje první sada o OpenGL. Získané poznatky jsou pak dále aplikovány v rámci zbývajících přednášek.
Základní prvky OpenGL
- Úvod do OpenGL – historie vzniku, srovnání s DirectX, vysvětlení datových toků, syntaxe příkazů, programová rozhraní pro OpenGL
- Základní tvary, display listy, vertex arrays a VBO (Vertext Buffer Object)
- Souřadné systémy, základní transformace, transformační matice a jejich zásobník,
- Světlo, stínování, materiály
- Míchání barev, použití mlhy, antialiasing
- Bitmapy a obrázky, Textury, Multi-textury,
- Framebuffer, renderování do textury
- Tessellátory, kvadriky, evaluátory, NURBS
Shaders
- OpenGL 4+ + GLSL 4+
Vizualizace specifických dat
- Datové struktury a jejich reprezentace v OpenGL
- Volumetrické renderování
- Tvorba komplexní scény, modely terénu
- Vizualizace konečných prvků
- Vizualizace lékařských dat
- Vizualizace chemických struktur
Herní engine
- Datový model herního engine
- Práce s vytvořenými 3D modely + jejich reprezentace v OpenGL
- Bone systémy, L-systémy
- Částicové systémy a jejich vizualizace
- Fyzikální modely, nVidia PhysX
Virtuální realita
- VRML, X3D
- Stereoprojekce
Cvičení:
Cvičení korespondují s přednáškami.
Počítačové laboratoře:
Cvičení budou korespondovat s přednáškami. Budou se řešit konkrétní úlohy z probrané oblasti. Požaduje se dobrá znalost C++,C# nebo Javy. Primárním jazykem je C++.
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