Základy počítačové grafiky – aktuální informace (2024/2025)

Přednáška v češtině se koná každou STŘEDU OD 14:00 v posluchárně S3 (Malá Strana)
(informace o anglické přednášce)

Cvičení jsou rozdělena do několika skupin, viz rozvrh v SISu.

Video obsah na YouTube

Přednášky 2024/25: nová videa budou vznikat jen výjimečně, playlist je z archivu
Playlist přednášek 2022/23.

Cvičení 2024/25:
Playlist cvičení 2024/25. Je tam záznam prvního cvičení, další zatím neplánuji.

Archiv

POZOR: neplatí konkrétní úlohy a zmínky o Microsoft Teams (Teams už nepoužíváme).

Archiv přednášek 2020/21.
Archiv cvičení 2023/24.
Archiv cvičení 2022/23.
Archiv cvičení 2021/22.
Archiv cvičení 2020/21.

Nezávazný plán semestru

Data přednášek a cvičení se vztahují k výuce J. Pelikána, u ostatních se mohou dny lišit.

Přednáška 1 (2. 10. 2024)

Motivace, plán přednášky

Plán přednášek a cvičení, motivační příklady ze života, literatura, ostatní přednášky..

Cvičení 1 (2. 10. 2024)

Systém cvičení, za co je zápočet, předvedení programovacího prostředí (jazyk C#, MS Visual Studio, GIT repository, AI asistenti).
GIT repository NPGR003-24 a jak s ní pracovat! Úkol 00-GIT.
ChatGPT konverzace o command-line programu, který má vytvořit obrázek s dvojbarevnou šachovnicí (ukazuje se tam i knihovna SixLabors.ImageSharp) je archivován zde.
Video: Úvodní video 2024/01 – zápočet, tabulka bodů, GIT repo, ChatGPT ukázka

Přednáška 2 (9. 10. 2024)

Barevné vidění, barevné systémy, rastrová a vektorová grafika

Lidský zrak a jeho vlastnosti (fyziologie a psychologie, vady), světelné spektrum, metamery, obraz a jeho reprezentace v počítači, základní barevný systém RGB, doporučení pro používání barev. Rastrová a vektorová grafika. Virtuální barevná primitiva XYZ, barevný gamut displeje, barevné systémy CIE-xyY, RGB, CMY(K), HSV (zatím jen stručně)

Cvičení 2 (9. 10. 2024)

Barva v SixLabors.ImageSharp (Rgba32), formáty pixelu, převod RGB <-> HSV, Adobe Color online, rastrový obrázek v SixLabors.ImageSharp (Image). Knihovna pro command-line argumenty CommandLineParser.

Úloha 01-AllTheColors: obrázek obsahující všech 16M barev.

Přednáška 3 (16. 10. 2024)

Barevné systémy a gamma korekce

Opakování: RGB a HSV prostor, aditivní a subtraktivní skládáni barev, CMY(K), převody RGB<->HSV, barevné standardy. Gamma korekce a mýty s ní spojené.
Úvod do rastrových formátů: pořizování rastrového obrazu.

Cvičení 3 (16. 10. 2024)

Jména barev X11 color names. Vektorový formát SVG (PDF prezentace), adresář s jednoduchými SVG příklady.
Ukázka gamma (testovací rastry: Gamma 1, Gamma 2 (color)).

Úloha 02-ImagePalette: barevná paleta podle obrázku.

Přednáška 4 (23. 10. 2024)

Rastrové grafické formáty

Pixelové formáty, ukládání obrazu, základní grafické formáty a jejich použití (PNM/PGM, PNG, GIF, JPEG). JPEG komprese, [ukázky artefaktů a velikostí souborů ze slajdů].

Cvičení 4 (23. 10. 2024)

Ukázky grafických formátů, artefakty JPEG komprese prakticky, porovnání kvality a velikosti zkomprimovaných obrázků, prakticky s IrfanView.

Úloha 03-SFC: fraktální křivky, vyplňující rovinu (Space Filling Curves).

Přednáška 5 (30. 10. 2024)

HDR grafika, průhlednost

HDR grafika, pořizování HDR obrazu vícenásobnou expozicí, ukázky HDR souborů (Picturenaut), tone-mapping. Příklady – viz HDR stránka. Průhledné obrázky a operace s nimi (kompozice pomocí alfa-kanálu).

Cvičení 5 (30. 10. 2024)

HDR: pořízení HDR obrázku vícenásobnou expozicí (Picturenaut).
Ukázky operací s průhledností (alpha channel) – ukázka Genesis Effect z filmu "Star Trek II".

Úloha 04-Mandala: kreslení kruhově symetrických obrázků (a la mandala).

Přednáška 6 (6. 11. 2024)

Operace/filtry nad rastrovým obrazem

Histogram a operace s ním, ekvalizace, přechodová funkce, filtrace konvolucí, rank-filtry, umělecké efekty.
Základy rasterizace (kreslení grafických primitiv do rastrového obrazu): úsečka.

Cvičení 6 (6. 11. 2024)

Ukázky: filtry (medián, rozmazání...) v GiMP
Jak vyrobit video z jednotlivých obrázků.

Úloha 05-Animation: výroba 2D animace založené na mandale (viz úloha 04-Mandala).

Přednáška 7 (13. 11. 2024)

Základy kreslení (rasterizace), anti-aliasing

Rasterizace – pokračování: úsečka (Bresenham = midpoint), kružnice, vyplňování n-úhelníka, anti-aliasing.

Cvičení 7 (13. 11. 2024)

Ukázky rasterizace v JaGrLib: lines (sBresenham.xml), anti-aliased lines (sAntialias.xml), ellipses – 2 algorithms (sEllipse.xml, Bresenham's circle, Bond's general ellipse), polygon (sPolygon.xml), polygon with anti-aliasing (sPolygonAnti.xml), Gallery – anti-aliased polygon fill, thick line clipping.
Přehled volitelných přednášek – rasterizace: složitější křivky (diferenční algoritmus na kubickou křivku), flood-fill.

Úloha 06-ImageRecoloring: přebarvení rastrového obrázku se zachováním pleťových odstínů (pro portréty)

Přednáška 8 (20. 11. 2024)

Zbytek 2D grafiky, úvod do 3D: 3D grafický systém, transformace

Zbytek 2D grafiky: kreslení písma, kódování obrazu/masky – RLE, quad-tree, X-transition list.
Schéma 3D grafického systému, lineární geometrické transformace, maticové transformace, homogenní souřadnice.

Cvičení 8 (20. 11. 2024)

Přehled volitelných přednášek – dokončení: ořezávání, půltónování a rozptylování, palety, redukce počtu barev (GIF), [Ukázky půltónování, redukce barevné palety..]
Motivační ukázky 3D grafiky (Euro Truck Simulator 2, CS, Virtual-O).
Základy OpenGL I: architektura GPU, pipeline s shadery, základ zobrazování 3D scény. Video (2020/21), Video part I (2022/23), Video part II (2022/23),

Přednáška 9 (27. 11. 2024)

Transformace a projekce, 3D scény

Dokončení transformací: konstrukce složených zobrazení, vzájemný převod souřadných systémů, klasifikace lineárních projekcí, rovnoběžné a středové promítání, implementace projekčních transformací, perspektivně korektní interpolace...
Objemové a povrchové reprezentace 3D scén: buňky, octree, CSG,

Cvičení 9 (27. 11. 2024)

Základy OpenGL II: posloupnost souřadných systémů a transformací v OpenGL, data posílaná na GPU, kreslená primitiva, shadery...
Ukázky OpenGL v Silk.NET, příklady z našeho GITu: Silk3D01-FlatWorld a 02-Trackball.
[Ukázky z 3D grafiky v GrCis: 086shader, 048rtmontecarlo-script.]

Přednáška 10 (4. 12. 2024)

Povrchové reprezentace 3D scén

VHS(T), Atributy vrcholů a stěn, okřídlená hrana, půlhrana, trojúhelníkové sítě, corner table, Eulerovy operátory.

Cvičení 10 (4. 12. 2024)

Případně ještě Ukázky Open v Silk.NET, příklady z našeho GITu: Silk3D01-FlatWorld a 02-Trackball.
Zmínka o stínování (GrCis: 086shaders), jen na ukázku k nové úloze.

Úloha 07-Terrain: generování terénu fraktálním "subdivision" algoritmem

Přednáška 11 (11. 12. 2024)

Hierarchie, matematika pro 3D grafiku

Hierarchický model obecně, scene graph, hierarchie transformací.
Transformace normálových vektorů, posloupnost souřadných soustav v OpenGL. Reprezentace orientace: Eulerovy úhly, kvaterniony, interpolace kvaternionů, SLERP. Animační křivky: aproximace a interpolace, spline křivky, Hermitova interpolace, Catmul-Rom, Kochanek-Bartels... aplikace na trajektorii i orientaci, aplikace na polohu i orientaci (myšlenka kvaternionového spline)

Cvičení 11 (11. 12. 2024)

Ukázka animačních křivek a kvaternionů (Sample05, Sample06 z ogl repository).
[Praktická ukázka projektu 086shaders s dalšými technickými detaily (podle času).]
Ještě jednou příklady z našeho GITu: Silk3D01-FlatWorld a 02-Trackball.

Úloha 08-Fireworks: simulace ohňostroje pomocí částicového systému.

Přednáška 12 (18. 12. 2024)

Výpočet viditelnosti a základy stínování

Malířův algoritmus a hloubkové třídění, Z-buffer.
Jednoduchý model osvětlení (Phong) – normálové vektory, bodový zdroj světla, atributy materiálu. Konstantní a spojité stínování – Gouraudova a Phongova metoda.

Cvičení 12 (18. 12. 2024)

Praktická ukázka projektu 086shaders znova podrobněji stínování...

Úloha 09-AntAttack: zobrazování 3D scény ve stylu stařičké hry "Ant Attack".

Přednáška 13 (8. 1. 2025)

Stínování, základy renderingu, vrhání paprsku (Ray-tracing)

Ukázky odevzdaných animací (úloha 05-Animation) .
Základy paprskového zobrazování: CSG, ray-casting, ray-tracing. [Začlenění stínování do GPU pipeline (shadery) a do paprskových metod (ray-tracing)]
Jaké přednášky navazují v LS.

Cvičení 13 (8. 1. 2025)

Ukázky stínování, ray-casting a ray-tracing prakticky (grcis), ukázky moderního Monte-Carlo renderingu (Corona renderer?), další detaily 3D úloh, pokud bude zájem.
Připravte si dotazy, budeme mít čas se jim věnovat!

 

Na této stránce si přečtěte příklady otázek, se kterými se můžete setkat u zkoušky.


Copyright (C) 2001-2024 J.Pelikán, last change: 2024-12-11 10:29:22 +0100 (Wed, 11 Dec 2024)