FAKULTA INFORMATIKY Masarykova univerzita PB001: Uvod do informačních technologií Luděk Matýska podzim 2018 Luděk Matýska • PB001: Úvod do informačních technologií • podzim 2018 1/51 FAKULTA INFORMATIKY I Masarykova univerzita Obsah přednášky Úvod Barva Rastrové displeje a algoritmy Modely a modelování Renderování Renderování na GPU Luděk Matýska • PB001: Úvod do informačních technologií • podzim 2018 2/51 Úvod FAKULTA INFORMATIKY Masarykova univerzita Základní problémy ■ jak obraz vytvořit a reprezentovat ■ jak obraz manipulovat a zobrazit ■ jak napodobit realitu ■ jak to rychle vypočítat Luděk Matýska • PB001: Úvod do informačních technologií • podzim 2018 3/51 Úvod FAKULTA INFORMATIKY Masarykova univerzita Analýza a syntéza obrazu analýza: obrazová data —► modely ■ 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 • PB001: Úvod do informačních technologií • podzim 2018 4/51 Úvod FAKULTA INFORMATIKY I Masarykova univerzita Vizualizace 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í ■ medicína ■ strojírenství, defektoskopie Luděk Matýska • PB001: Úvod do informačních technologií • podzim 2018 5/51 Úvod FAKULTA INFORMATIKY Masarykova univerzita Vizualizace v chemii Luděk Matýska • PB001: Úvod do informačních technologií • podzim 2018 6/51 Úvod FAKULTA INFORMATIKY Masarykova univerzita Luděk Matýska • PB001: Úvod do informačních technologií • podzim 2018 7/51 Úvod FAKULTA INFORMATIKY Masarykova univerzita Vizualizace v lékařství Luděk Matýska • PB001: Uvod do informačních technologií • podzim 2018 8/51 Úvod FAKULTA INFORMATIKY Masarykova univerzita Vizualizace ve strojírenství SAA& med* inCLvnw Úvod FAKULTA INFORMATIKY Masarykova univerzita Grafický subsystém - schéma grafický subsystém Grafický akcelerátor i I obrazová paměť video radíc monitor sběrnice 1 V/V zařízení Luděk Matýska • PB001: Úvod do informačních technologií • podzim 2018 10/51 Barva FAKULTA INFORMATIKY Masarykova univerzita Fyzikální podstata barvy Světlo je elektromagnetické vlnění charakterizované vlnovou délkou a intenzitou. Viditelné spektrum: 400 nm (fialová) - 700 nm (červená) Luděk Matýska • PB001: Úvod do informačních technologií • podzim 2018 Barva FAKULTA INFORMATIKY Masarykova univerzita Lidské oko duhovka zornice rohovka zadní oční komora řasnaté tělísko sítnice cévnatka bělima slepá skvrna zrakový nerv řední oční komora komorová voda hybné svaly - cévy závesný vaz čočky Luděk Matýska • PB001: Uvod do informacmľn techno^p^VvfijRiP^^HTci2^1^ 12/51 Barva FAKULTA INFORMATIKY Masarykova univerzita Barevné 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.2 OJ 0.4 0,5 0.6 0.7 0.8 X Luděk Matýska • PB001: Úvod do informačních technologií • podzim 2018 13/ 51 Barva FAKULTA INFORMATIKY Masarykova univerzita Kódování barev RGB ■ aditivní: sčítá barvy k bíLé ■ 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 • PB001: Úvod do informačních technologií • podzim 2018 Barva FAKULTA INFORMATIKY Masarykova univerzita Optické iluze Luděk Matýska • PB001: Úvod do informačních technologií • podzim 2018 15/51 Barva FAKULTA INFORMATIKY Masarykova univerzita Optické iluze Luděk Matýska • PB001: Úvod do informačních technologií • podzim 2018 16/51 Barva FAKULTA INFORMATIKY Masarykova univerzita Optické iluze ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■1 ■ ■ ■ ■ ■ ■1 ■ ■ ■ ■ ■1 Luděk Matýska • PB001: Úvod do informačních technologií • podzim 2018 17/51 Barva FAKULTA INFORMATIKY Masarykova univerzita Optické iluze Luděk Matýska • PB001: Úvod do informačních technologií • podzim 2018 18 / 51 Barva FAKULTA INFORMATIKY Masarykova univerzita Optické iluze Luděk Matýska • PB001: Úvod do informačních technologií • podzim 2018 19 / 51 Barva FAKULTA INFORMATIKY Masarykova univerzita Optické iluze Luděk Matýska • PB001: Úvod do informačních technologií • podzim 2018 20 / 51 Barva FAKULTA INFORMATIKY Masarykova univerzita Optické iluze Luděk Matýska • PB001: Úvod do informačních technologií • podzim 2018 21 / 51 Barva FAKULTA INFORMATIKY Masarykova univerzita Optický klam Barva FAKULTA INFORMATIKY Masarykova univerzita Optický klam Luděk Matýska • PB001: Úvod do informačních technologií • podzim 2018 23/51 Barva FAKULTA INFORMATIKY Masarykova univerzita Optický klam 24/51 Rastrové displeje a algoritmy FAKULTA INFORMATIKY Masarykova univerzita Rastrový 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ů Luděk Matýska • PB001: Úvod do informačních technologií • podzim 2018 25/51 Rastrové displeje a algoritmy FAKULTA INFORMATIKY I Masarykova univerzita Technologie displejů 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 • PB001: Úvod do informačních technologií • podzim 2018 26/51 Rastrové displeje a algoritmy FAKULTA INFORMATIKY I Masarykova univerzita Technologie displejů Plazmové displeje ■ pLyn uzavřený v malých buňká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é svetlo. 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 ■ aktivní zdroj světla (nepotřebuje podsvícení), ohebné Dotykové displeje ■ spojení obrazového výstupu a hmatového vstupu Luděk Matýska • PB001: Úvod do informačních technologií • podzim 2018 27/51 Rastrové displeje a algoritmy FAKULTA INFORMATIKY I Masarykova univerzita Rastrová konverze úseček 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 • PB001: Úvod do informačních technologií • podzim 2018 28/51 Rastrové displeje a algoritmy FAKULTA INFORMATIKY I Masarykova univerzita Výplň ploch 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á ■ n • • • n • • • n • / • j ■ ■ • • ■ • • ■ Luděk Matýska • PB001: Úvod do informačních technologií • podzim 2018 29/51 Rastrové displeje a algoritmy FAKULTA INFORMATIKY Masarykova univerzita Výplň polygoniální oblasti Záplavové vyplňování: ■ 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 • PB001: Úvod do informačních technologií • podzim 2018 30/51 Rastrové displeje a algoritmy FAKULTA INFORMATIKY Masarykova univerzita Výplň polygoniální oblasti 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 • PB001: Úvod do informačních technologií • podzim 2018 31/51 Rastrové displeje a algoritmy FAKULTA INFORMATIKY Masarykova univerzita Výplň polygoniální oblasti Nejednoznačnost hranice a tedy i výplně: (a) (b) ♦ Span extrema O Other pixels in the span Luděk Matýska • PBOOl: Úvod do informačních technologií • podzim 2018 32 / 51 Rastrové displeje a algoritmy FAKULTA INFORMATIKY I Masarykova univerzita Antialiasing Převodem spojitého obrazu na diskrétní rastrovou reprezentaci vznikají chyby: ■ ztráta detailu ■ vznik nežádoucích artefaktů ■ rozpad tvaru Řešení: ■ zvýšené rozlišení ■ předfiltrování ■ postfiltrování Luděk Matýska • PB001: Úvod do informačních technologií • podzim 2018 33/51 Rastrové displeje a algoritmy FAKULTA INFORMATIKY Masarykova univerzita Antialiasing: předfiltrování aplikuje se během rasterizace každému pixeLu je nastavena intenzita poměrně k velikosti plochy, kterou je zakrýván rasterovaným objektem 4 3 2 I i J_I_I_L l J_I_t i 6 8 9 10 11 Luděk Matýska • PB001: Úvod do informačních technologií • podzim 2018 Rastrové displeje a algoritmy FAKULTA INFORMATIKY Masarykova univerzita Alias: 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 • PB001: Úvod do informačních technologií • podzim 2018 35/51 Rastrové displeje a algoritmy FAKULTA INFORMATIKY I Masarykova univerzita 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 • PBOOl: Úvod do informačních technologií • podzim 2018 36 / 51 Modely a modelování FAKULTA INFORMATIKY Masarykova univerzita 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 • PB001: Úvod do informačních technologií • podzim 2018 37/51 Modely a modelování FAKULTA INFORMATIKY Masarykova univerzita Parametrické křivky úsečka ■ koncové body ajb p(t) = (1 - ř)a + řb Bezierova křivka ■ koncové body a, c ■ řídící bod b p(t) = (1 - t)2a + 2ř(l - t)b + t2c Luděk Matýska • PB001: Úvod do informačních technologií • podzim 2018 38/51 Modely a modelování FAKULTA INFORMATIKY Masarykova univerzita Parametrické křivky - příklad Scalable Vector Graphics (SVG) Luděk Matýska • PB001: Úvod do informačních technologií • podzim 2018 39/51 Modely a modelování FAKULTA INFORMATIKY Masarykova univerzita Parametrické plochy ■ 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 • PB001: Úvod do informačních technologií • podzim 2018 40/51 Modely a modelování FAKULTA INFORMATIKY Masarykova univerzita Polygonové 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 • PB001: Úvod do informačních technologií • podzim 2018 41/51 Modely a modelování FAKULTA INFORMATIKY Masarykova univerzita Vytváření polygonových modelů Tažení povrchu Rotace Luděk Matýska • PB001: Úvod do informačních technologií • podzim 2018 Modely a modelování FAKULTA INFORMATIKY Masarykova univerzita Konstruktivní geometrie těles Komplexní objekty jsou z jednodušších vytvářeny pomocí booLských operací: ■ sjednocení ■ průnik ■ rozdíl B / / / / / / / AuB AnB Z 171 A-B "Z B-A Luděk Matýska • PB001: Úvod do informačních technologií • podzim 2018 43/51 Modely a modelování FAKULTA INFORMATIKY Masarykova univerzita Objemové modelování ■ 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 • PB001: Úvod do informačních technologií • podzim 2018 44/51 Renderování FAKULTA INFORMATIKY I Masarykova univerzita Renderování 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 • PB001: Úvod do informačních technologií • podzim 2018 45/51 Renderování FAKULTA INFORMATIKY I Masarykova univerzita Popis 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 šíření 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 • PB001: Úvod do informačních technologií • podzim 2018 46/51 Renderování FAKULTA INFORMATIKY Masarykova univerzita Textury 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 ■ raste r o vé ■ 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 • PB001: Úvod do informačních technologií • podzim 2018 47/51 Renderování FAKULTA INFORMATIKY I Masarykova univerzita Zpětné sledování paprsku (Raytracing) ■ sleduje cesty paprsků z oka do zdrojů světla ■ daný stupeň odrazů ■ umožňuje stínování, Lesklé povrchy... Luděk Matýska • PB001: Úvod do informačních technologií • podzim 2018 Renderování FAKULTA INFORMATIKY I Masarykova univerzita Distribuované sledování paprsku ■ 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 • PB001: Úvod do informačních technologií • podzim 2018 49/51 Renderování na GPU FAKULTA INFORMATIKY I Masarykova univerzita Renderování na GPU 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 • PB001: Úvod do informačních technologií • podzim 2018 50/51 Renderování na GPU FAKULTA INFORMATIKY I Masarykova univerzita Vývoj práce s 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 • PB001: Úvod do informačních technologií • podzim 2018 51 / 51