PB001: Uvod do informačních technologií Luděk Matýska Fakulta informatiky Masarykovy univerzity podzim 2015 Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 1/51 O Úvod 0 Barva Q Rastrové displeje a algoritmy Q Modely a modelování Q Renderování O Renderování na GPU Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 2 / 51 Úvod • jak obraz vytvořit a reprezentovat • jak obraz manipulovat a zobrazit • jak napodobit realitu • jak to rychle vypočítat Luděk Matýska (Fl MU) PB001: Úvod do informačních technologií podzim 2015 3 / 51 Úvod analýza: obrazová data —>► modely o extrakce informací z obrazových dat • čárové kódy, detekce pohybu, identifikace objektů/osob, ... syntéza: modely —>► obrazová data • vytvoření obrazových dat na základě datových modelů • úprava fotografií, realistické zobrazení 3D scén, vizualizace dat ... Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 4 / 51 Cíl: zobrazení komplexních dat uchopitelnou formou • platí pro simulovaná data i výsledky měření • snadnější průchod daty a jejich analýza • usnadňuje porozumění objemným/komplexním datům Aplikace: • výsledky vědeckých experimentů a simulací o medicína • strojírenství, defektoskopie Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 5 / 51 Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 6 / 51 Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 7 / 51 Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 8 / 51 Úvod Vizua izace ve strojírenství $AA& inetJri In ^Lmw k Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 9 / 51 Úvod graficky subsystem Grafický akcelerátor f I obrazová paměť video radíc monitor sběrnice I V/V zařízení Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 10 / 51 Barva Viditelné spektrum: 400 nm (fialová) - 700 nm (červená) Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 11 / 51 Barva prokrvující sítnici Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 12 / 51 arevne prostory • na každém zařízení lze zobrazit jen určité barvy • barevný gamut: množina barev, kterými dané zařízení disponuje • zde gamut typického CRT 0.0 0.1 0.4 0.5 0.6 0.7 0.8 Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 13 / 51 Barva RGB • aditivní: sčítá barvy k bílé a odpovídá skládání světla (např. LCD/CRT) CMY • subtraktivní: odečítá barvy od bílé • odpovídá míchání barev (např. inkoust) Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 14 / 51 Barva Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 15 / 51 Barva Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 16 / 51 Barva Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 17 / 51 Barva Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 18 / 51 Barva Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 19 / 51 Barva Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 20 / 51 Barva Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 21 / 51 Barva Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 22 / 51 Barva Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 23 / 51 Barva Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 24 / 51 Rastrové displeje a algoritmy astrový obraz obraz je 2D pole pixelů = obrazových bodů barva každého pixelu je definována b bity, tzv. barevná hloubka • 1 bit: černobílý obraz • barevný obraz: 8, 15, 16, 24 (True Color), až 96 bitů R 93% G 93% B 93% Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 25 / 51 Rastrové displeje a algoritmy CRT • tři svazky elektronů jsou urychlovány a cíleny na lumiforovou vrstvu s RGB oblastmi LCD • organické molekuly uložené mezi dvěma polarizačními filtry s kolmými osami polarizace • v klidové poloze polarizují světlo o 90° a umožňují jeho průchod. • v excitované poloze nepolarizují a pixel se jeví jako nerozsvícený • nevydává světlo: vyžaduje podsvícení, či reflexní vrstvu Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 26 / 51 Rastrové displeje a algoritmy Plazmové displeje • plyn uzavřený v malých bunkách (3 na pixel) je excitován el. polem a vydává UV záření • UV záření dopadá na fosfor uvnitř buňky a ten vydá viditelné světlo. OLED • několik vrstev organického materiálu uložených mezi anodou a katodou • při průchodu el. proudu organickým materiálem dochází k emisi viditelného světla 9 aktivní zdroj světla (nepotřebuje podsvícení), ohebné Dotykové displeje • spojení obrazového výstupu a hmatového vstupu Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 27 / 51 Rastrové displeje a algoritmy .astrová Konverze useče Cíl: převedení spojité úsečky do rastrové reprezentace. ^^^^ Podél dané úsečky se v krocích po ose x počítá nejbližší pixel v ose y. • výpočet v pomocí round() v každém kroku je neefektivní • inkrementální výpočet: Bresenhamův algoritmus Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 28 / 51 Rastrové displeje a algoritmy Cíl: obarvení všech pixelů v dané oblasti. Možné definice oblastí: • všechny pixely dané barvy • všechny pixely v dané vzdálenosti od pixelu • oblast definovaná polygonem Definice sousedního pixelu: • 4-směrná: společná hrana • 8-směrná: společná hrana, či vrchol Pixelově definované oblasti 4 směrná 8 směrná Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 29 / 51 Rastrové displeje a algoritmy Záplavové vyplňovaní: • zvol jeden pixel uvnitř oblasti • rekurzivně obarvuj sousedy Řádkové vyplňování: • rekurze probíhá po sousedících řádcích, ne pixelech • výrazně efektivnější Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 30 / 51 Rastrové displeje a algoritmy Paritní vyplňování: • najdi průsečíky řádky s polygonem • seřaď podle polohy na ose x • vybarvi sudé úseky Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 31 / 51 Rastrové displeje a algoritmy Nejednoznačnost hranice a tedy i výplně: (a) (b) ♦ Span extrema O Other pixels in the span Luděk Matýska (Fl MU) PBOOl: Uvod do informačních technologií podzim 2015 32 / 51 Rastrové displeje a algoritmy Převodem spojitého obrazu na diskrétni rastrovou reprezentaci vznikají chyby: • ztráta detailu • vznik nežádoucích artefaktů • rozpad tvaru Rešení: o zvýšené rozlišení • předfiltrování • postfiltrování Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 33 / 51 Rastrové displeje a algoritmy aplikuje se během rasterizace každému pixelu je nastavena intenzita pomerne k velikosti plochy, kterou je zakrýván rasterovaným objektem 4 h 3 2 i J_L i_L 5 C 0 J_L 10 íl Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 34 / 51 Rastrové displeje a algoritmy ias: rozpad tvaru Zvýšené rozlišení (supersampling): obraz je vykreslen ve větším rozlišení a následně zmenšen. Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 35 / 51 Rastrové displeje a algoritmy I Rasterizace písma Bez antialiasingu: sample sample Antialiasing: sample sample Antialiasing a hinting = předpočítané parametry pro daný font a rozlišení: sample sample Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 36 / 51 Modely a modelování Cíl: popsat „co je na obraze" • ze základních primitiv se skládají komplexní tvary • 2D - vektorová grafika • úsečka, křivka, elipsa/kužnice, mnohoúhelník... • 3D - popis povrchů • 2D objekty s obsahem, parametrické plochy, spojování plátů.. . Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 37 / 51 Modely a modelování 3arametricl ké 1 křiv ky úsečka • koncové body a,b Bezierova křivka • koncové body a, c • řídící bod b b p(t) = (1 - t)a + tb p(t) = (1 - t)2a + 2t(l - t)b + t2c Luděk Matýska (Fl MU) PB001: Úvod do informačních technologií podzim 2015 38 / 51 Modely a modelovár ^arametric Ke KNV Ky - pri K a Scalable Vector Graphics (SVG) Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 39 / 51 • umožňují popis hladkých zakřivených povrchů • vhodné pro průmyslový design Možnosti definice: • okrajovými křivkami • polygonovou sítí Luděk Matýska (Fl MU) PB001: Úvod do informačních technologií podzim 2015 40 / 51 Modely a modelování I olygonove modely Polygonový model: • tvar je složen z konvexních 2D primitiv • dvoj-, troj- mnohoúhelníky (polygony) • snadné vykreslení Techniky úprav povrchové sítě: • tažení (extrudování) povrchu • rotace profilu kolem osy • zjemnění a deformace sítě • konstruktivní geometrie těles Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií Modely a modelování \onstru Ktivni geometrie teles Komplexní objekty jsou z jednodušších vytvářeny pomocí boolských operací: • sjednocení • průnik • rozdíl Au B An B A-B B-A Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 43 / 51 Modely a modelování ijemove modelovaní • prostor uniformně rozdělen na voxely • voxely mají různou barvu, průsvitnost... Aplikace: • zobrazení medicínských dat • objem zadáván po řezech • možnost selektivního zobrazení Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 44 / 51 Renderování I .enderovani Cíl: vytvoření obrazu na základě modelu. Popis scény: • geometrie objektů • osvětlení • textury • směr pohledu • stínování Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 45 / 51 Renderovánř I Dopis scény Geometrie objektů • polygonové/parametrické modely • úroveň detailu a počet objektů ovlivňují výpočetní náročnost Osvětlení • popis zdrojů světla a jejich vlastností • různé modely šírení světla Stínování • úprava úrovně jasu povrchu v závislosti na osvětlení • pomocí stínů vnímáme hloubku, tvary... Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 46 / 51 extury Technika přidání detailu na povrch modelu. • určuje optické vlastnosti materiálu objektu • barva, průsvitnost, lom světla, ... • přidává detailní změny geometrie • normálové mapy (výstupky) • na jeden povrch je možné aplikovat více textur Textury • rasterové • rasterový obraz je mapován („natažen") na povrch • výsledek je ovlivněn rozlišením textury a použitou interpolací • procedurální • vlastnosti pixelů povrchu jsou zadány funkcí • vyžaduje programovatelný HW • dobře škáluje na výsledné rozlišení obrazu Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 47 / 51 Renderovánř -7 XX . X 1 1 XX 1 / I-"N ■ \ Z-petne sieaovani paprsku (Ka ytracmgj • sleduje cesty paprsků z oka do zdrojů světla • daný stupeň odrazů 9 umožňuje stínování, lesklé povrchy... Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 48 / 51 Renderovánř istri Duovane sled ováni paprs ku • každý paprsek nahrazen svazkem paprsků • výsledkem je průměr získaných hodnot • umožňuje hloubku ostrosti, měkké stíny... Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 49 / 51 Renderování na GPU enderovani na Renderování v reálném čase: • nižší nároky na kvalitu, důležitý výkon (25 fps) • rasterizace místo raytracingu • geometrie transformována do 2D • určeny viditelné trojúhelníky • převedení na pole pixelů Programovatelné GPU • novější generace GPU umožňují obecnější výpočty • komplexnější per-pixel efekty (bump mapy, shadery) • možné využít GPU i mimo jednoduchou rasterizaci (raytracing, konverze videa, vědecké výpočty...) Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 50 / 51 Renderování na GPU Vývoj práce s 1 GPU Statické API (application programming interface) • pevně dané množina funkcí • abstrakce od konkrétního HW • OpenGL 1.0, DirectX do verze 7 Programovatelné shadery • umožňují vytváření jednoduchých procedur vykonávaných na GPU • OpenGL 2.0, DirectX 8 a výše GPGPU (General-purpose computing on graphics processing units) • další rozšíření programovatelnosti GPU • grafická karta jako stream procesor • OpenCL, CUDA,... Luděk Matýska (Fl MU) PB001: Uvod do informačních technologií podzim 2015 51 / 51