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

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

Cvičení jsou rozdělena do čtyř skupin:

  • NPGR003x01 pondělí 15:40 SW1 (česky, Vojtěch Tázlar)
  • NPGR003x02 středa 14:00 SU2 (česky, Josef Pelikán)
  • NPGR003x03 pondělí 10:40 SW2 (anglicky, Vojtěch Tázlar)
  • NPGR003x04 úterý 15:40 SW2 (česky, Vojtěch Tázlar)

Video obsah na YouTube

Playlist všech zveřejněných přednášek z roku 2020/21.
Playlist aktuálních cvičení z roku 2021/22.

Playlist všech zveřejněných cvičení z roku 2020/21.
POZOR: neplatí všechny konkrétní úlohy a zmínky o Microsoft Teams (Teams letos nebudeme používat, pokud se nezhorší epidemiologická situace).

Nezávazný plán semestru

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

Přednáška 1 (29. 9. 2021)

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 (29. 9. 2021)

Systém cvičení, za co je zápočet, předvedení programovacího prostředí (jazyk C#, MS Visual Studio, SVN/GIT repository). Rastrový obrázek (Bitmap), ukázka první úlohy (051).
Video: úvodní video (2020/21) – pokrývá systém cvičení, ukázky prostředí 117raster, apod. Zmínky o konkrétních úlohách můžete pravděpodobně ignorovat, stejně jako případné zmínky o MS Teams.

Přednáška 2 (6. 10. 2021)

Barevné vidění, barevné systémy

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. Virtuální barevná primitiva XYZ, barevný gamut displeje, barevné systémy CIE-xyY, RGB, CMY(K), HSV

Cvičení 2 (6. 10. 2021)

Barva v .NET (Color), formáty pixelu, převod RGB <-> HSV, Adobe Color online, rastrový obrázek v .NET (Bitmap.GetPixel()).

Úloha 051: Barevná paleta podle obrázku

Video: Cvičení číslo 2021/02 – jen zvuk se podařilo zaznamenat plnohodnotně, obraz je velice chudý...

Přednáška 3 (13. 10. 2021)

Rastrová a vektorová grafika, Gamma korekce

Opakování: HSV prostor, aditivní a subtraktivní skládáni barev, převody RGB<->HSV, barevné standardy. Rastrová a vektorová grafika. Začátek: Gamma korekce (mýty s ní spojené),

Cvičení 3 (13. 10. 2021)

Prostředí 117raster (moduly s vstupy a výstupy, postupné vyvolávání modulů, formulář modulu, ...) – předvedení na příkladě ModuleFormula.

Prostředí 117 pro rastrové obrázky
Úloha 123: Procedurální generování obrázku

Videa (jsou z loňska, tak si pro jistotu vždy zkontrolujte aktuální informace na WWW): Prostředí 117raster (2020/21), Zadání úlohy 123 (2020/21)

Přednáška 4 (20. 10. 2021)

Gamma, rastrové grafické formáty

Gamma dokončení, pořizování rastrového obrazu, 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 (20. 10. 2021)

Ukázka gamma (testovací rastry: Gamma 1, Gamma 2 (color)).
Ukázky grafických formátů, artefakty JPEG komprese prakticky, porovnání kvality a velikosti zkomprimovaných obrázků, prakticky s IrfanView.

Úloha 120: Omezené přebarvení obrázku

Video: Cvičení číslo 2021/04 – ukázky ke Gamma, JPEG kopresi a zadání úlohy 120.

Přednáška 5 (27. 10. 2021)

HDR grafika, průhlednost

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

Cvičení 5 (27. 10. 2021)

HDR: pořízení HDR obrázku vícenásobnou expozicí (Picturenaut).
Ukázky operací s průhledností (alpha channel).

Úloha 092: Obrázek složený z úseček

Video: Cvičení číslo 2021/05 – ukázky poloprůhlednosti (alfa kanál), HDR a zadání úlohy 092.

Přednáška 6 (3. 11. 2021)

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, kružnice, princip Bresenhamových (mid-point) algoritmů.

Cvičení 6 (3. 11. 2021)

Ukázka Genesis Effect z filmu "Star Trek II".
Vektorový formát SVG (PDF prezentace), adresář s jednoduchými SVG příklady.
Výroba videa z jednotlivých snímků

Úloha 093: Animace pomocí úseček

Videa: Cvičení číslo 2021/06 – ukázka Star Trek II, prezentace o SVG formátu a zadání úlohy 093, Vektorový formát SVG, Výroba videa z jednotlivých snímků (2020/21)

Přednáška 7 (10. 11. 2021)

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

Rasterizace – pokračování: vyplňování n-úhelníka, anti-aliasing, kreslení písma. Kódování obrazu/masky: RLE, quad-tree.

Cvičení 7 (10. 11. 2021)

Ukázky: filtry (medián, rozmazání).. v JaGrLib
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), text with & w/o anti-aliasing (sText.xml), flood-fill (sFloodFill.xml) – podle množství času, demo anti-aliasingu písma (ZIP), ligatura a kerning (PDF), Gallery – anti-aliased polygon fill, thick line clipping.

Úloha 084: Umělecký filtr – tahy štětcem

Video: Cvičení číslo 2021/07 – ukázka rasterizace s anti-aliasingem i bez něj, kreslení písma a zadání úlohy 084.

Přednáška 8 (24. 11. 2019)

3D grafický systém, transformace v 3D grafice

Zbytek z minula: X-transition list. Schéma 3D grafického systému, lineární geometrické transformace, maticové transformace, homogenní souřadnice, konstrukce složených zobrazení, vzájemný převod souřadných systémů.

Cvičení 8 (24. 11. 2019)

Přehled volitelných přednášek – rasterizace: složitější křivky (diferenční algoritmus na kubickou křivku), flood-fill, 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..
Ukázky z 3D grafiky (086shader, 048rtmontecarlo-script).
OpenTK knihovna a její matematické objekty: matice, vektory, .. 3D formáty Wavefront OBJ a Stanford PLY a jejich načítání

Úloha 125: Generování obrázku s anti-aliasingem

Video: Cvičení číslo 2021/08 – přehled volitelných témat, ukázky z 3D grafiky (realtime projekt 086 a ray-tracing 048) a zadání úlohy 125.

Přednáška 9 (1. 12. 2021)

Projekce, Reprezentace 3D scén

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, VHS(T), atributy vrcholů a stěn, okřídlená hrana, trojúhelníkové sítě.

Cvičení 9 (1. 12. 2021)

Přehled OpenGL: výběr z látky z předem natočeného videa (2020/21).
Architektura grafické karty (starší model – fixed pipeline, i OpenGL >=3.0), posloupnost souřadných systémů a transformací v OpenGL, data posílaná na GPU, kreslená primitiva, shadery...

Videa: Úvod do OpenGL (2020/21), Cvičení číslo 2021/09 – OpenGL I

Přednáška 10 (8. 12. 2021)

Hierarchie, matematické základy animace

Dokončení reprezentací 3D scén: corner table, Eulerovy operátory, hierarchický model obecně, scene graph, ještě jednou posloupnost souřadných systémů a transformací 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.

Cvičení 10 (8. 12. 2021)

OpenGL: dokončení – textury, výpočet viditelnosti, ukázky shaderů, matrix stack (souvislost s hierarchiemi), instancing, stencil buffer...
Praktická ukázka projektu 086shaders již s některými technickými detaily (podle času).
Další podrobnosti o OpenTK (?)
SceneBrep (konstrukce povrchového modelu), corner table. Sdílení vrcholů (pro stínování hladkého tělesa) vs. duplikované vrcholy (se svými vlastními normálami – pro hranaté tvary). Data ve vrcholech a jejich uložení v SceneBrep.
Obecné techniky zobrazování 3D scén: řetězení transformací, projekční transformační matice, zobrazovací smyčka realtime 3D grafiky (event_handling – simulation – rendering), double-buffering...

Úloha 113: Graf funkce v OpenGL

Video:

Přednáška 11 (15. 12. 2021)

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

Dokončení animačních křivek.
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.

Cvičení 11 (15. 12. 2021)

OpenTK a OpenGL: cokoli, co ještě zbylo (dotazy studentů)
Interpolace polohy a orientace (praktické ukázky?), principy skriptované animace scény i kamery (sledování objektu ve scéně, LookAt(), ..)

Úloha 087: Ohňostroj

Video:

Přednáška 12 (22. 12. 2021)

Stínování, základy renderingu

Konstantní a spojité stínování – Gouraudova a Phongova metoda.
Základy paprskového zobrazování: CSG, ray-casting, ray-tracing.

Cvičení 12 (22. 12. 2021)

Ukázky stínování a ray-tracingu.
Výklad související s poslední úlohou.
Dotazy studentů.

Úloha 096: Rubikova kostka

Video:

Přednáška 13 (5. 1. 2022)

Vrhání paprsku, rendering

Ukázky odevzdaných animací , základy moderního renderingu: 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 (5. 1. 2022)

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

Video:

 

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-2021 J.Pelikán, last change: 2021-12-02 22:57:58 +0100 (Thu, 02 Dec 2021)