PB001: Uvod do informačních technologií Luděk Matýska Fakulta informatiky Masarykovy univerzity podzim 2011 Luděk Matýska (Fl MU) PB001: Úvod do informačních technologií podzim 2011 1 / 29 01 Rastrové displeje a algoritmy Q Modely a modelování Ql Renderování Ql Renderování na GPU Luděk Matýska (Fl MU) PB001: Úvod do informačních technologií I podzim 2011 2/29 Rastrový obraz 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: Úvod do informačních technologií podzim 2011 4/29 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 • 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: Úvod do informačních technologií podzim 2011 5/29 Rastrové displeje a algoritmy 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: Úvod do informačních technologií I podzim 2011 6/29 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á ■ n n i □ n J ■ ■ ■ ■ Luděk Matýska (Fl MU) PB001: Úvod do informačních technologií podzim 2011 7/29 Rastrové displeje a algoritmy 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 (Fl MU) PB001: Úvod do informačních technologií podzim 2011 8/29 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: Úvod do informačních technologií podzim 2011 9/29 Rastrové displeje a algoritmy Luděk Matýska (Fl MU) PB001: Úvod do informačních technologií podzim 2011 10 / 29 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 Řešení: • zvýšené rozlišení • předfiltrování • postfiltrování Luděk Matýska (Fl MU) PB001: Úvod do informačních technologií podzim 2011 11 / 29 Rastrové displeje a algoritmy Luděk Matýska (Fl MU) PB001: Úvod do informačních technologií podzim 2011 12 / 29 Luděk Matýska (Fl MU) PB001: Úvod do informačních technologií podzim 2011 13 / 29 Rasterizace písma arametry pro d PB001: Úvod do informačních technologií 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: Úvod do informačních technologií podzim 2011 15 / 29 úsečka • koncové body a,b p(t) = (1 - t)a + tb Bezierova křivka • koncové body a, c • řídící bod b Luděk Matýska (Fl MU) PB001: Úvod do informačních technologií podzim 2011 16 / 29 [Scalable Vector Graphics (SVG) ^ Luděk Matýska (Fl MU) PBOOl: Úvod do informačních technologií podzim 2011 17 / 29 • umožňují popis hladkých zakřivených povrchů • vhodné pro průmyslový design Možnosti definice: • okrajovými křivkami o polygonovou sítí 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: Úvod do informačních technologií I podzim 2011 19 / 29 Luděk Matýska (Fl MU) PB001: Úvod do informačních technologií podzim 2011 20 / 29 Komplexní objekty jsou z jednodušších vytvářeny pomocí boolských operací: • sjednocení • průnik • rozdíl AuB AnB A-B B-A Luděk Matýska (Fl MU) PB001: Úvod do informačních technologií podzim 2011 21 / 29 • 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: Úvod do informačních technologií podzim 2011 22 / 29 Renderovái 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: Úvod do informačních technologií I podzim 2011 23 / 29 Renderovái Geometrie objektů • polygonové/parametrické modely • úroveň detailu a počet objektů ovlivňují výpočetní náročnost Osvětlení o 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 (Fl MU) PB001: Úvod do informačních technologií podzim 2011 24 / 29 Renderovái 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: Úvod do informačních technologií podzim 2011 25 / 29 Zpětné sledování paprsku (Raytracing) o sleduje cesty paprsků z oka do zdrojů světla o daný stupeň odrazů o umožňuje stínování, lesklé povrchy.. . I Camera ^^^"B r. Light Source Shadow Ray PBOOl: Úvod do informačních technologi podzim Renderovái • 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: Úvod do informačních technologií podzim 2011 27 / 29 Renderovái 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: Úvod do informačních technologií podzim 2011 28 / 29 Renderovái 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: Úvod do informačních technologií podzim 2011 29 / 29