Popis předmětu - B0B39PGR

Přehled studia | Přehled oborů | Všechny skupiny předmětů | Všechny předměty | Seznam rolí | Vysvětlivky               Návod
B0B39PGR Programování grafiky
Role:PO, PZ, V, 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/start

Anotace:

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.
Doporučená literatura:
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, NURBS

Předmět je zahrnut do těchto studijních plánů:

Plán Obor Role Dop. semestr
BPSIT_2021 Před zařazením do oboru PV 4
BPSIT2_2021 Technologie pro multimédia a virtuální realitu PV 4
BPOI4_2016 Počítačové hry a grafika PO 4
BPSIT Před zařazením do oboru PV 4
BPSIT Před zařazením do oboru V 4
BPOI4_2018 Počítačové hry a grafika PZ 4
BKSIT Před zařazením do oboru PV 4


Stránka vytvořena 28.3.2024 17:52:19, semestry: Z,L/2023-4, Z/2024-5, 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)