Přednáška v češtině se koná každé PONDĚLÍ OD 14:00 v posluchárně S4 (Malá Strana)
(informace o anglické přednášce)
Cvičení jsou rozdělena do několika skupin, viz rozvrh v SISu.
Přednášky 2023/24: nová videa budou vznikat jen výjimečně, playlist je z archivu
Playlist
přednášek 2022/23.
Cvičení 2023/24:
Playlist
cvičení 2023/24. Je tam záznam prvního cvičení, další zatím neplánuji.
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í 2022/23.
Archiv
cvičení 2021/22.
Archiv
cvičení 2020/21.
Data přednášek a cvičení se vztahují k výuce J. Pelikána, u ostatních se mohou dny lišit.
Plán přednášek a cvičení, motivační příklady ze života, literatura, ostatní přednášky..
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-23
a jak s ní pracovat! Úkol 00-GIT.
ChatGPT-3.5 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 2023/01 –
zápočet, tabulka bodů, GIT repo, ChatGPT ukázka
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ě)
Barva v SixLabors.ImageSharp (Rgba32), formáty pixelu, převod RGB <-> HSV,
Adobe Color online,
rastrový obrázek v SixLabors.ImageSharp (Image
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é.
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)).
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ů].
Ukázky grafických formátů, artefakty JPEG komprese prakticky, porovnání kvality a velikosti zkomprimovaných obrázků, prakticky s IrfanView.
Přednáška se pro nemoc nekoná, pusťte si prosím sami videa
HDR obraz a
Kompozice rastrových obrázků.
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).
ve skupině J. Pelikána se toto cvičení posunuje na 6. 11. 2023.
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".
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.
Rasterizace – pokračování: úsečka (Bresenham = midpoint), kružnice, vyplňování n-úhelníka, anti-aliasing.
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),
Gallery – anti-aliased polygon fill, thick line clipping.
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, konstrukce složených zobrazení,
vzájemný převod souřadných systémů (co se stihne).
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..
Dokončení transformací, 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,
Ukázky z 3D grafiky (GrCis: 086shader, 048rtmontecarlo-script).
Motivační ukázky 3D grafiky (Euro Truck Simulator 2,
CS, Virtual-O).
Silk.NET knihovna a její matematické objekty:
matice, vektory...
Silk.NET.Maths repo.
VHS(T), Atributy vrcholů a stěn, okřídlená hrana, půlhrana,
trojúhelníkové sítě, corner table, Eulerovy operátory.
Hierarchický model obecně, scene graph, hierarchie transformací.
Transformace normálových vektorů, posloupnost souřadných soustav v OpenGL...
Přehled OpenGL I: 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...
Ukázky
Open v Silk.NET, příklady z našeho GITu:
Silk3D – 01-FlatWorld
a 02-Trackball.
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)
OpenGL: dokončení – textury, výpočet viditelnosti, ukázky shaderů,
matrix stack (souvislost s hierarchiemi), instancing, stencil buffer...
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...
Praktická ukázka projektu 086shaders již s některými technickými detaily (podle času).
Ještě jednou příklady z našeho GITu:
Silk3D – 01-FlatWorld
a 02-Trackball.
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.
Praktická ukázka projektu 086shaders již s technickými detaily z přednášky
(stínování...)
Případné další ukázky z našeho GITu
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?]
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-2023 J.Pelikán, last change: 2023-12-03 00:53:28 +0100 (Sun, 03 Dec 2023)