Přednáška se koná každé PONDĚLÍ OD 14:00 v posluchárně S3 (Malá Strana)
Cvičení se konají každý týden (počínaje 9. 10. 2017) v termínech:
Plán přednášek a cvičení, motivační příklady ze života, literatura, ostatní přednášky..
Lidský zrak a jeho vlastnosti (fyziologie a psychologie, vady), světelné spektrum, metamery, obraz a jeho reprezentace v počítači, rastrová a vektorová grafika, 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, aditivní a subtraktivní skládáni barev, převody RGB<->HSV
Systém cvičení, za co je zápočet, předvedení programovacího prostředí (jazyk C#, MS Visual Studio, SVN repository), načítání a zobrazování rastrového obrázku, barevné transformace, převody RGB<->HSV
Gamma korekce (mýty s ní spojené), 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)
Vektorový formát SVG
(PDF prezentace),
adresář s jednoduchými SVG příklady.
Řádkový program v C#, čtení command-line parametrů, třída Options.
Dokončení: JPEG komprese. HDR grafika, pořizování HDR obrazu vícenásobnou expozicí, ukázky HDR souborů (HDRView, Picturenaut), tone-mapping
Ukázka gamma (testovací rastry). Ukázky grafických formátů, artefakty JPEG komprese prakticky, porovnání kvality a velikosti zkomprimovaných obrázků, pořízení HDR obrázku vícenásobnou expozicí (HDRView, Picturenaut)
Průhledné obrázky a operace s nimi (kompozice pomocí alfa-kanálu). Histogram a operace s ním, ekvalizace, přechodová funkce, filtrace konvolucí
Výroba videa z jednotlivých snímků.
Dokončení přednášky o filtraci (rank-filtry, umělecké efekty). Monochromatické zobrazování, půltónování a rozptylování, jednotlivé metody, Č/B i barevný tisk
Ukázky filtrů (JaGrLib, [výsledky 005 denoise] mediánové filtry), filtry potlačující šum, ..
Práce s rastrovým obrázkem, rychlý přístup k datům Bitmapy (LockBits)..
Zbytky vektorové grafiky (jen velmi stručně): kreslení grafických primitiv do rastrového obrazu, úsečky a křivky, Bresenhamovy (mid-point) algoritmy, vyplňování n-úhelníka, vyplňování souvislé oblasti, kreslení písma, clipping.
Co zbylo z půltónovací přednášky: palety, redukce počtu barev (GIF). Anti-aliasing (princip, příklady metod). Ukázky půltónování, redukce barevné palety.. Kreslicí algoritmy v praxi, anti-aliasing (JaGrLib), clipping (JaGrLib), flood-fill a kreslení písma v praxi
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ů
Klasifikace lineárních projekcí, rovnoběžné a středové promítání, implementace projekčních transformací..
Architektura grafické karty (starší model, fixed pipeline, i OpenGL >=3.0),
posloupnost souřadných systémů a transformací v OpenGL, matrix stack, data posílaná na GPU,
kreslená primitiva, textury, výpočet viditelnosti, stencil buffer.., VBO a VAO buffery, shadery
OpenTK knihovna a její matematické objekty:
matice, vektory, .. Wavefront OBJ formát, Stanford PLY a jejich načítání
Praktická ukázka úlohy 038 Trackball (otáčení 3D objektem systémem "trackball",
řetězení transformací, projekční transformační matice), zobrazovací smyčka (events - simulation - rendering),
double-buffering..
Dokončení ukázek OpenGL aplikací.
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ě, corner table, Eulerovy operátory). Návaznost na zobrazování v OpenGL: vrcholy a jejich atributy,
normálové vektory, stěny, texturování
OpenTK a OpenGL: zbytky z minula (matice a vektory), praktické ukázky, struktura 3D aplikace, shadery,
ještě jednou ukázka matrix-stacku, atributy vrcholů, vertex arrays, VBO buffery, instancing.
3D formáty Wavefront OBJ a
Stanford PLY.
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 a PLY formátu.
Hierarchický model obecně, scene graph, ještě jednou posloupnost souřadných systémů a transformací v OpenGL.
Algoritmus plovoucího horizontu, Appelův algoritmus (čárová viditelnost), malířův algoritmus
a hloubkové třídění, Z-buffer, Watkinsův algoritmus (řádkový rozklad).
Plovoucí horizont (grcis: 017), graf funkce vykreslený pomocí povrchových křivek, ukazování myší do 3D scény (UnProject()).
Jednoduchý model osvětlení (Phong), konstantní stínování, spojité stínování - Gouraudova a Phongova metoda, zobrazování CSG: ray-casting.
Ukázky textur a stínování (grcis: 086).
Ukázka rozšíření projektu 086shader o simulační
jádro - šablona 087fireworks. Univerzální systém pro vykreslování simulovaných
objektů interface IRenderObject (viz OpenglSupport.cs).
Hodiny v tomto týdnu jsou nepovinné, budu je věnovat konzultacím a odpovědím na Vaše otázky. Přijďte, pokud se chcete na něco zeptat nebo se mnou něco prodiskutovat.
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)
Ray-tracing prakticky (grcis), ukázky moderního Monte-Carlo renderingu, další detaily úlohy 087: Ohňostroj. Připravte si dotazy, budeme mít čas se jim věnovat!
Copyright (C) 2001-2018 J.Pelikán, last change: 2018-01-02 01:39:09 +0100 (Tue, 02 Jan 2018)