PB001: Uvod do informačních technologií
Luděk Matýska
Fakulta informatiky Masarykovy univerzity
podzim 2017
Luděk Matýska (Fl MU)
PB001: Uvod do informačních technologií
podzim 2017
1/51
sa n preanasky
O Úvod
Q Barva
Q Rastrové displeje a algoritmy
Q Modely a modelovaní
Q Renderování
O Renderování na GPU
Luděk Matýska (Fl MU) PB001: Uvod do informačních technologii podzim 2017 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: Uvod do informačních technologií
podzim 2017 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 2017 4 / 51
Úvod
I /izuai uzace
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 2017 5 / 51
Úvod
Luděk Matýska (Fl MU)
PB001: Uvod do informačních technologií
podzim 2017 6 / 51
Úvod
Luděk Matýska (Fl MU)
PB001: Uvod do informačních technologií
podzim 2017 7 / 51
Úvod
/izualizace v lekars-
Luděk Matýska (Fl MU)
PB001: Uvod do informačních technologií
podzim 2017 8 / 51
Úvod
\ /" 1" i ■ x i x
Vizuahzace ve strojírenství
SAAB inedH In GLvtnv
kiWiik
Luděk Matýska (Fl MU)
PB001: Uvod do informačních technologií
podzim 2017 9 / 51
Úvod
grafický subsystém
Grafický akcelerátor
I
obrazová paměť
sběrnice
video radíc
I
V/V zařízení
monitor
Luděk Matýska (Fl MU)
PB001: Uvod do informačních technologií
podzim 2017 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 2017 11 / 51
Barva
prokrvující sítnici
Luděk Matýska (Fl MU)
PB001: Uvod do informačních technologií
podzim 2017 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 2017 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é
9 odpovídá míchání barev (např. inkoust)
Luděk Matýska (Fl MU)
PB001: Uvod do informačních technologií
podzim 2017 14 / 51
Barva
Luděk Matýska (Fl MU)
PB001: Uvod do informačních technologií
podzim 2017 15 / 51
Barva
Luděk Matýska (Fl MU)
PB001: Uvod do informačních technologií
podzim 2017 16 / 51
Barva
Luděk Matýska (Fl MU)
PB001: Uvod do informačních technologií
podzim 2017 17 / 51
Barva
Luděk Matýska (Fl MU)
PB001: Uvod do informačních technologií
podzim 2017 18 / 51
Barva
Luděk Matýska (Fl MU)
PB001: Uvod do informačních technologií
podzim 2017 19 / 51
Barva
Barva
Luděk Matýska (Fl MU)
PB001: Uvod do informačních technologií
podzim 2017 21 / 51
Barva
Luděk Matýska (Fl MU)
PB001: Uvod do informačních technologií
podzim 2017 22 / 51
Barva
Luděk Matýska (Fl MU)
PB001: Uvod do informačních technologií
podzim 2017 23 / 51
Barva
Luděk Matýska (Fl MU)
PB001: Uvod do informačních technologií
podzim 2017 24 / 51
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 2017 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 2017 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
• 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 2017 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 2017 28 / 51
Rastrové displeje a algoritmy
1 1
vypín pioci
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
• • I
• n • •
• n □ • /
• i
■ T
■
■
■
Luděk Matýska (Fl MU)
PB001: Uvod do informačních technologií
podzim 2017 29 / 51
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: Uvod do informačních technologií
podzim 2017 30 / 51
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 2017 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 2017 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
■v
Rešení:
• zvýšené rozlišení
• předfiltrování
• postfiltrování
Luděk Matýska (Fl MU)
PB001: Uvod do informačních technologií
podzim 2017 33 / 51
Rastrové displeje a algoritmy
Antialiasing: predfiltrová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
10 11
Luděk Matýska (Fl MU)
PB001: Uvod do informačních technologií
podzim 2017 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 2017 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 2017 36 / 51
Modely a modelovaní
Cíl: popsat „co je na obraze"
a 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 2017 37 / 51
Modely a modelovaní
/ä 1 4iLyJ
úsečka
Bezierova křivka
e koncové body a,b
9 koncové body a, c • řídící bod b
p(t) = (1 - t)a + tb
p(t) = (1 - t)2a + 2t(l - t)b + i
Luděk Matýska (Fl MU)
PB001: Úvod do informačních technologií
podzim 2017 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 2017 39 / 51
Modely a modelovaní
9 umožňují popis hladkých zakrivený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 2017 40 / 51
Modely a modelování
I
oiygonove 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í
podzim 2017 41 / 51
Modely a modelování
onstruKtivni geometrie teies
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 2017 43 / 51
Modely a modelování
jemove moaeio
• 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 2017 44 / 51
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 (Fl MU)
PB001: Uvod do informačních technologií
podzim 2017 45 / 51
Renderovánř
I Dopis scény
Geometrie objektů
• polygonové/parametrické modely
9 ú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 2017 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 2017 47 / 51
Renderovánř
—J V . / 1 1 / / li
Zpetne sledovaní paprsku | KaytracingJ
• sleduje cesty paprsků z oka do zdrojů světla
• daný stupeň odrazů
• umožňuje stínování, lesklé povrchy...
Luděk Matýska (Fl MU)
PB001: Uvod do informačních technologií
podzim 2017 48 / 51
Renderovánř
istri Duovane sied 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 2017 49 / 51
Renderování na GPU
enaerovani 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 2017 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 2017 51 / 51