Počítačová grafika (některé problémy) Eduard Sojka ZPP 2004/5 VŠB – Technická univerzita Ostrava Některé problémy PG Plán přednášky:  Počítačová grafika na FEI  Zobrazování trojrozměrných scén •

Download Report

Transcript Počítačová grafika (některé problémy) Eduard Sojka ZPP 2004/5 VŠB – Technická univerzita Ostrava Některé problémy PG Plán přednášky:  Počítačová grafika na FEI  Zobrazování trojrozměrných scén •

Slide 1

Počítačová grafika
(některé problémy)

Eduard Sojka

ZPP 2004/5
VŠB – Technická univerzita Ostrava


Slide 2

Některé problémy PG
Plán přednášky:
 Počítačová grafika na FEI

 Zobrazování trojrozměrných scén
• Jak kreslit dobré obrázky rychle
• Jak kreslit fotorealistické obrázky

 Rekonstrukce scény na základě obrázků
 Něco o ztrátové kompresi MP3, JPEG
2


Slide 3

Počítačová grafika na FEI
Související předměty:








Uživatelská rozhraní (P2, Sojka)
Základy počítačové grafiky (P3, Šarman)
Počítačová grafika (PV4, Sojka)
Digitální zpracování obrazu (PV4, Sojka)
Analýza obrazu (PV4, Sojka)
Geometrie pro počítačovou grafiku (PV4, Šarman)
Algoritmizace geometrických úloh (PV5, Sojka)
3


Slide 4

O kreslení na počítači

(I)

Problém má dvě stránky:
 Jak daný útvar reprezentovat v počítači. To je někdy
lehké (body, úsečky,…), jindy o něco těžší (prostorové
křivky, plochy, tělesa).
 Jak jej pěkně a rychle nakreslit při požadovaném
zobrazení. Opět někdy lehké (rovinné útvary), jindy
těžší (prostorové).
V této přednášce se zaměříme zejména na druhý problém. V otázce
reprezentace budeme spoléhat na intuici a „čtení mezi řádky“.
4


Slide 5

O kreslení na počítači

(II)

V této také přednášce vynecháme problematiku
vykreslování elementárních útvarů (bodů, úseček,
křivek, trojúhelníků, polygonů a prostorových
ploch a ihned se pustíme do vykreslování
trojrozměrných scén).

5


Slide 6

Zobrazovaní trojrozměrných scén
Velmi hrubé dělení metod:
 Metody pracující rychle, ale dávající horší obrázky
(aplikace: hry, simulátory, náhledy).
• Standardní zobrazovací řetězec
 Metody dávající velmi pěkné (fotorealistické)
obrázky, ale pracující pomalu (aplikace: design,
umění, film, reklama).
• Rekurzivní sledování paprsku
• Vyzařovací metoda
6


Slide 7

Standardní zobrazovací postup

(I)

Jakou kvalitu obrázků máme na mysli:

7


Slide 8

Standardní zobrazovací postup (II)
Schéma postupu
Pokrytí povrchů
těles sítí rovinných plošek

Výpočet
osvětlení ve
vrcholech sítě

Ořezání zorným
objemem

Aplikace zobrazovací
transformace na
vrcholy

Rasterizace, řešení
viditelnosti, textura
8


Slide 9

Standardní zobrazovací postup (III)
Pokrytí povrchu objektů sítí rovinných plošek:
 Ploškami bývají nejčastěji
trojúhelníky nebo čtyřúhelníky.

 Pro objekty ve tvaru
mnohostěnu je takové dělení
vcelku samozřejmé.
 K přesnějšímu výpočtu
barev bývá ale někdy dělení
na plošky jemnější.
9


Slide 10

Standardní zobrazovací postup (IV)
 Někdy síť rovinných plošek žádaný povrch pouze
aproximuje.

Poznámka: Červeně je vyznačeno variantní dělení na trojúhelníky místo
čtyřúhelníků.

10


Slide 11

Standardní zobrazovací postup (V)
Výpočet barevného vjemu ve vrcholech plošek
K tomu známe

n3
P3
P2

O a ,O d ,O s
P1
n1

n2

 Polohu, intenzitu a barvu
světelných zdrojů.
 Souřadnice vrcholů (P),
normál (n) a konstanty
popisující optické vlastnosti
materiálu (Oa, Od, Os).

V tomto kroku je spočítán barevný vjem ve vrcholech každé plošky.

11


Slide 12

Jak kreslit obrázky rychle (VI)
Zobrazovací transformace

?

Oblíbenou technikou je středové
promítání. To je zadáno:
 Polohou průmětny.

 Polohou středu promítání
Průmětna
Střed promítání
12


Slide 13

Standardní zobrazovací postup (VII)
Ořezání zorným objemem

Objekty nebo jejich části nacházející se mimo zorný
objem (obvykle jehlan) jsou odstraněny.
13


Slide 14

Standardní zobrazovací postup (VIII)
Rasterizace plošek
P3, C3

 Postupně zpracovávány
všechny plošky.
 Pro každou plošku
rozsvěceny všechny její
pixely.

P1, C1

P2, C2

 Barva každého pixelu se
stanoví interpolací mezi
hodnotami ve vrcholech.
14


Slide 15

Standardní zobrazovací postup (IX)
Řešení viditelnosti (z-buffer)

X2
z2

y

z1

X1
P lo c ha 2
P lo c ha 1

z
x

z< 0

z min

 Pro rozhodnutí
viditelnosti se
použijí hodnoty
souřadnice z (zde je
z1 > z2).
 Před řešením
viditelnosti bývá
centrální promítání
převedeno na
rovnoběžné.
15


Slide 16

Standardní zobrazovací postup (X)
Nanášení textury
Vzhled obrázků
lze vylepšit
nanášením
textury (cihly,
omítka,
trávník).

16


Slide 17

Standardní zobrazovací postup (XI)
Resume
Popsaný postup pracuje
rychle, ale obrázky
vypadají trochu
uměle. Někdy může
být také patrná
aproximace povrchů
objektů ploškami
(viz. obr. vlevo).

17


Slide 18

Grafické standardy

(I)

Popsaný standardní zobrazovací postup je implementován v
grafických knihovnách, např. v OpenGL.
Typické výhody OpenGL:
 Standard je vcelku jednoduchý (snadno zvládnete).
 I přes jeho jednoduchost jsou možnosti standardu dostatečné.
 Přístup k urychlování grafických operací technickými
prostředky.
 Přenositelnost programů mezi různými operačními systémy
(např. MS Windows, UNIX / LINUX).
18


Slide 19

Sledování paprsku (I)
Jaké obrazy můžeme čekat?

19


Slide 20

Sledování paprsku (II)
Sledování paprsků od světelných zdrojů
světelný
zdroj

ka m era

20


Slide 21

Sledování paprsku (III)
Sledování paprsků od kamery
B
A
Bod
o b razu
S třed p rojekce

21


Slide 22

Sledování paprsku (IV)
Chod paprsků
It
r

Ir

t
X

průch od

odraz

Il

n
přích ozí
paprsek

I
i

Po dopadu paprsku i do X je
generován paprsek odražený
(r) a paprsek vstupující do
tělesa (t).
Vjem v bodě X transportovaný
paprskem i je:
I  I l  k r I r  kt I t
22


Slide 23

Sledování paprsku (V)
Chod paprsků
C

t3
3

r2
n2
2

l3

t1

r1

r1
l2

1

r3
n3

2

1

r2

l1

l2

l1
t1
3

l3

r3

t2



X
C

Poznámka: π je průmětna, C střed projekce. Body 1, 2, 3 jsou
průsečíky paprsku s tělesem.

23


Slide 24

Sledování paprsku (VI)
B

Algoritmus

A
Bod
o b razu
S třed p rojekce

Origin  Střed projekce;
for each image point (x,y) do
Direction  směr paprsku z Origin do pixelu (x,y);
Image(x,y)  Ray_Trac( Origin, Direction, 0 );
konec;
24


Slide 25

Sledování paprsku (VII)
Algoritmus
function Ray_Trac( Origin, Direction: TCoord3; Nest: Integer): TRGB;
Jestliže (Nest > MaxNest), vrať barvu (0,0,0) a skonči;
Najdi průsečíky paprsku (Origin, Direction) s objekty scény;
Nebyl-li nalezen žádný průsečík, vrať (0,0,0) a skonči;
It
X  průsečík nejbližší bodu Origin (ve směru paprsku);
Ir
X
Reflected_Dir  směr paprsku odraženého v X;
p růcho d
o d raz
Ir = Ray_Trac( X, Reflected_Dir, Nest+1 );
Il
Transmitted_Dir  směr paprsku procházejícího v X; n
I
It = Ray_Trac( X, Transmitted_Dir, Nest+1 );
p řícho zí
Il = intenzita v bodě X od světelných zdrojů;
p ap rsek
vrať barvu (Il + kr Ir + kt It) ;
konec;
25


Slide 26

Sledování paprsku (VIII)
16 hod, PIII 0.7 GHz, POV Ray

Něco o rychlosti výpočtu

6 hod, Athlon 1.6 GHz, 3D S max

101 hod, Athlon 1.4 GHz, MegaPov

26


Slide 27

Sledování paprsku (IX)
Resume
Metoda sledování paprsku dává pěkné obrázky, ale
pracuje pomalu. Nejdéle trvá výpočet průsečíků
paprsků s tělesy.

27


Slide 28

Vyzařovací metoda (I)
Jaké obrázky čekáme?

Sledování paprsku (pro srovnání)

28


Slide 29

Vyzařovací metoda (II)
Proč dávají obě metody tak odlišné
výsledky?
Sledování paprsku: jen
zrcadlový odraz

Vyzařovací metoda: jen
difúzní odraz

29


Slide 30

Vyzařovací metoda (III)
Scéna se pokryje sítí plošek. Pro každou se spočítá „vyzařování“

30


Slide 31

Vyzařovací metoda (IV)

ploška j

Bi

Bj
Ei

Ai

ploška i

 Základní myšlenka: intenzita
ploškou vyzařovaná = vlastní
emise + ρ intenzita dopadající z
jiných plošek.
 Vede na soustavu rovnic pro
vyzařování všech plošek.
 Vypočítané hodnoty vyzařování
se použijí k nakreslení plošek.

31


Slide 32

Vyzařovací metoda (V)
Resume
Metoda je v jistém smyslu komplementární ke sledování
paprsku. Také ona dává pěkné obrázky a také i v
tomto případě je výpočet zdlouhavý.

32


Slide 33

Rekonstrukce scény

(I)

 Rekonstrukce scény je úlohou opačnou k úloze
o generování obrazů.
 K dispozici musí být alespoň dva obrazy téže
scény. Úkolem je vytvořit model scény (např.
vypočítat trojrozměrné souřadnice význačných
bodů ve scéně).
 (U zobrazování to bylo naopak. Měli jsme model
a vytvářeli jsme obrazy.)
33


Slide 34

Rekonstrukce scény

(II)

Úloha o rekonstrukci

?
• Nalezení význačných bodů v obrazech.
• Nalezení korespondence význačných bodů.
• Nalezení vzájemné polohy kamer.
• Zpětná projekce.

34


Slide 35

Rekonstrukce scény

(III)

Hledání význačných bodů i korespondencí lze automatizovat. Ukážeme
alespoň to první (dostaneme se tak do oblasti analýzy obrazu).

35


Slide 36

O kompresi
Máme-li obrázky, pak je často chceme
uchovávat, transportovat po síti atd.
V případě obrazů, video sekvencí a zvuku
je užitečná komprese ztrátová.

36


Slide 37

O ztrátové kompresi (I)
Začneme netradičně kompresí zvuku MP3
40

dB

Citlivost lidského ucha.

20
frekvence (kH z)
0
0




2

4

6

8

10

12

14

16

Nemá cenu přenášet, co ucho neslyší.
Přenášíme-li už, pak není třeba kódovat
podrobněji, než je rozlišovací schopnost ucha.
37


Slide 38

O ztrátové kompresi (II)
Frekvenční maskování
dB
60
40
20
frekvence (kH z)
0

2

4

6

8

10

12

14

16

Silně znějící tón způsobí podstatné snížení citlivosti ucha na
blízkých frekvencích. Eventuální blízké tóny není pak
zapotřebí vůbec přenášet nebo stačí jen hrubé kódování.
38


Slide 39

O ztrátové kompresi (III)
Temporální maskování
60

dB

40
čas (m s)

20
5

0

5

10

20

50

100

200

500

Po skončení silného tónu se navrací citlivost ucha pozvolna.
V této době není opět nutné některé jiné tóny přenášet.
39


Slide 40

O ztrátové kompresi (IV)
A co komprese JPEG a MPEG?
Opět se jednoduše vynechá to, co oko nevidí nebo
nejméně postrádá. Zpravidla jsou to vysoké
frekvence v obraze. Jsou zde ale určitá
úskalí…

40


Slide 41

O ztrátové kompresi (V)
Původní obraz
Komprimováno 20 : 1

Obrázky tohoto typu jsou pro JPEG kompresi vhodné. Vysoké
frekvence nejsou zastoupeny příliš významně. Nepřesnosti
vzniklé kompresí jsou maskovány členitostí obrazu.

41


Slide 42

O ztrátové kompresi (VI)
Komprimováno 20 : 1

Původní obraz
Zde je komprese JPEG zcela nevhodná. Vysoké frekvence jsou
významné (neměly by se proto šidit), ani zde není členité
pozadí, které by mohlo chyby vzniklé kompresí zamaskovat .
42


Slide 43

Závěr
O čem jsme mluvili:
 O zobrazování trojrozměrných scén
• Jak kreslit dobré obrázky rychle
• Jak kreslit fotorealistické obrázky

 O rekonstrukci scény na základě obrázků
 O ztrátové kompresi MP3, JPEG
43


Slide 44

Text pro případné
zájemce

g:\vyuka\456\PGII

44