Počítačová grafika I - aktuální informace (2017/2018)

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:

  • Pondělí 9:00, SW2
  • Středa 12:20, SW2
  • Čtvrtek 14:00, SW2

Nezávazný plán přednášky

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

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..

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

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, 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

Cvičení 1 (9. - 12. 10. 2017)

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

Úloha 051: Barevná paleta podle obrázku

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

Gamma korekce, rastrový obraz prakticky, grafické formáty I

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)

Cvičení 2 (16. - 19. 10. 2017)

Vektorový formát SVG (PDF prezentace), adresář s jednoduchými SVG příklady.
Řádkový program v C#, čtení command-line parametrů, třída Options.

Úloha 098: Generátor bludiště v SVG formátu

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

Grafické formáty II, HDR grafika

Dokončení: JPEG komprese. HDR grafika, pořizování HDR obrazu vícenásobnou expozicí, ukázky HDR souborů (HDRView, Picturenaut), tone-mapping

Cvičení 3 (23. - 26. 10. 2017)

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)

Úloha 004: vlastní HDR obrázek vícenásobnou expozicí

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

Průhlednost, operace/filtry nad rastrovým obrazem

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í

Cvičení 4 (30. 10. - 2. 11. 2017)

Výroba videa z jednotlivých snímků.

Úloha 099: Generování obrázku z vodorovných a svislých úseček
Úloha 110: Animace pomocí vodorovných a svislých úseček

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

Reprodukce rastrového obrazu, půltónování a rozptylování

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

Cvičení 5 (6. a 9. a 15. 11. 2017)

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)..

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

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

Kreslení do rastrového obrazu, písmo

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.

Cvičení 6 (16. - 22. 11. 2017)

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

Úloha 112: Ciferníky

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

3D grafický systém, lineární transformace, složené transformace, promítání

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í

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

Úvod do OpenGL

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

Cvičení 7 (27. - 30. 11. 2017)

OpenTK knihovna a její matematické objekty: matice, vektory, .. Wavefront OBJ formát a jeho 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..

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

Reprezentace 3D scén, povrchový model

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í

Cvičení 8 (4. - 7. 12. 2017)

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.

Úloha 057: Konstrukce 3D scény

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

Hierarchie, výpočet viditelnosti

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).

Cvičení 9 (11. - 14. 12. 2017)

Plovoucí horizont (grcis: 017), graf funkce vykreslený pomocí povrchových křivek

Úloha 1XX: Graf funkce v OpenGL

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

Osvětlení, stínování

Jednoduchý model osvětlení (Phong), konstantní stínování, spojité stínování - Gouraudova a Phongova metoda, zobrazování CSG: ray-casting.

Cvičení 10 (18. - 21. 12. 2017)

Ukázky textur a stínování (grcis: 086).
Ukazování myší do 3D scény (UnProject()). Ukázka rozšíření projektu 086shader o simulační jádro - šablona 087fireworks.

Úloha 087: Ohňostroj

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

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)

Cvičení 11 (8. - 11. 1. 2018)


Copyright (C) 2001-2017 J.Pelikán, last change: 2017-11-20 08:55:48 +0100 (Mon, 20 Nov 2017)