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