Popis předmětu - B0B39PGR
B0B39PGR | Programování grafiky | ||
---|---|---|---|
Role: | PO, V, PZ, PV | Rozsah výuky: | 2P+2C+8D |
Katedra: | 13139 | Jazyk výuky: | |
Garanti: | Felkel P. | Zakončení: | Z,ZK |
Přednášející: | Felkel P. | Kreditů: | 6 |
Cvičící: | Felkel P., Sloup J. | Semestr: | L |
Webová stránka:
https://cw.fel.cvut.cz/wiki/courses/pgr/startAnotace:
Studenti se seznámí s architekturou moderních grafických karet a naprogramují jednoduchou interaktivní 3D grafickou aplikaci s využitím rasterizace. Zároveň se naučí základním pojmům a principům používaným v počítačové grafice, jako jsou např. rasterizační zobrazovací řetězec (postup zobrazování scény), souřadnicové systémy a geometrické transformace a filtrování textur. Získají tedy znalosti, které jim usnadní orientaci v oblasti počítačové grafiky a stanou se slušnými základy nezbytnými pro profesionální růst, například při programování grafických karet (GPU) a animací. Cvičení probíhá v počítačové laboratoři. Důraz je kladen na získání praktických zkušeností s konkrétní knihovnou (OpenGL).Cíle studia:
Studenti se naučí programovat jednoduché interaktivní 3D grafické aplikace (např. hry, vizualizace,...). Dokáží navrhnout a vytvořit prostorovou scénu, přidat textury imitující geometrické detaily a materiály (např. povrch stěny, dřevo, oblohu) a nastavit osvětlení. Zároveň se seznámí se základními pojmy a principy používanými v počítačové grafice, jako jsou např. zobrazovací řetězec (postup zobrazování scény), souřadnicové systémy a geometrické transformace, osvětlovací model, atd. Získají znalosti, které jim usnadní orientaci v oblasti počítačové grafiky a stanou se slušnými základy nezbytnými pro profesionální růst, například při programování grafických karet (GPU) a animací.Osnovy přednášek:
1. | Úvod. Rasterizační zobrazovací řetězec. Knihovna OpenGL. Základy programování shaderů I - program | |
2. | Základy programování shaderů II - data. Knihovna GLUT | |
3. | Transformace I (model, view) | |
4. | Transformace II (graf scény, projekce, viewport, gimbal lock a trackball) | |
5. | Výpočet osvětlení ve vrcholech a ve fragmentech (implementace Phongova osvětlovacího modelu) | |
6. | Textury (zobrazování, filtrování, mip-mapping, mapa prostředí) | |
7. | Fixní části zobrazovacího řetězce. Operace s fragmenty a obrazová paměť. Vstupní operace (výběr). | |
8. | Míchání barev, antialiasing a mlha | |
9. | Křivky I (formy zápisu křivek, interpolace a aproximace, Fergusson, Bézier, Coons) | |
10. | Křivky II (uniformní, neuniformní a neuniformní racionální B-spline) | |
11. | Kvaterniony a interpolace rotací | |
12. | Další rozhraní pro programování grafiky (OpenGL ES, WebGL, D3D, .) | |
13. | Metody zobrazování a osvětlování | |
14. | Rezerva |
Osnovy cvičení:
1. | Úvod, semestrální projekty, překlad úloh, ukázky hotových prací | |
2. | Základy programování shaderů. Výběr zadání samostatného projektu | |
3. | Struktura programu (GLUT) a buffery (VBO a VAO) | |
4. | Grafické elementy | |
5. | Transformace | |
6. | Stínování, světla a materiály | |
7. | Řešení samostatné úlohy - konzultace před první kontrolou | |
8. | Kontrola semestrálních projektů | |
9. | Textury | |
10. | Křivky | |
11. | Selekce a interakce | |
12. | Řešení samostatné úlohy - konzultace před odevzdáním | |
13. | Odevzdání semestrálních projektů | |
14. | Rychlá prezentace + volba nejlepších. Zápočet |
Literatura:
Povinná literatura:1. | Žára, J. a kol.: Moderní počítačová grafika, Computer Press, Brno, 2004. |
1. | Gortler S.: Foundations of 3D Computer Graphics, The MIT Press, 2012. | |
2. | Wolf D.: OpenGL 4.0 Shading Language Cookbook, Packt Publishing Ltd., Birmingham, 2011. | |
3. | Dave Shreiner, Graham Sellers, John Kessennich, Bill Licea-Kane: OpenGL Programming Guide: The Official Guide to Learning OpenGL, Versions 4.2 (8th Edition), 2012/2013. | |
4. | Angel, E.: Interactive Computer Graphics, A top-down approach With OpenGL, Addison-Wesley, 1997. |
Požadavky:
Základy algoritmizace, programování v jazyce C/C++, lineární algebra.Klíčová slova:
grafická knihovna, zobrazovací řetězec, souřadnicové systém, transformace, pohyb kamery, graf scény, display list, osvětlování a stínování, světla, materiály, textury, obrazová paměť, paměť hloubky, paměť šablon, fragmenty, rastrová data, míchání barev, průhlednost, anti-aliasing, mlha, interakce s uživatelem, parametrické křivky, NURBSPředmět je zahrnut do těchto studijních plánů:
Stránka vytvořena 17.3.2025 17:50:37, semestry: Z,L/2024-5, Z,L/2025-6, připomínky k informační náplni zasílejte správci studijních plánů | Návrh a realizace: I. Halaška (K336), J. Novák (K336) |