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