Summary of Study |
Summary of Branches |
All Subject Groups |
All Subjects |
List of Roles |
Explanatory Notes
Instructions
Web page:
https://cw.fel.cvut.cz/wiki/courses/pgr/start
Anotation:
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).
Study targets:
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í.
Course outlines:
| 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 |
Exercises outline:
| 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 |
Literature:
| 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. |
Requirements:
Základy algoritmizace, programování v jazyce C/C++, lineární algebra.
Keywords:
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
Subject is included into these academic programs:
| Page updated 15.12.2025 15:52:14, semester: Z/2026-7, L/2024-5, Z/2025-6, L/2026-7, L/2025-6, Send comments about the content to the Administrators of the Academic Programs |
Proposal and Realization: I. Halaška (K336), J. Novák (K336) |