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