wstep do grafiki komputerowej - wydział fizyki...

45
WSTĘP DO GRAFIKI KOMPUTEROWEJ Milosz Michalski Institute of Physics Nicolaus Copernicus University Październik 2015 1 / 15

Upload: vuongngoc

Post on 01-Mar-2019

226 views

Category:

Documents


0 download

TRANSCRIPT

WSTĘP DO GRAFIKI KOMPUTEROWEJ

Miłosz Michalski

Institute of PhysicsNicolaus Copernicus University

Październik 2015

1 / 15

Plan wykładu

Światło, kolor, zmysł wzroku.

Obraz: fotgrafia, grafika cyfrowa, poligrafia

Grafika rastrowa: typowe narzędzia i techniki

Grafika wektorowa: elementy i techniki

Elementy grafiki 3D

2 / 15

Grafika wektorowa 3D — reprezentacja obiektów

Podobnie jak w przypadku grafiki wektorowej na płaszczyźnie,model analityczny opisany jest parametrycznie w przestrzeni3D

Kula(x0, y0, z0, r , . . .)Prostopadłościan(x1, y1, z1, a, b, c, . . .)Walec(x2, y2, z2, r , h, . . .). . .

Obraz powstaje przez rzutowanie modelu na zadanąpłaszczyznę obserwacji

Rendering uwzględnia dane o położeniu obserwatora ioświetleniu

3 / 15

Grafika wektorowa 3D — reprezentacja obiektów

Podobnie jak w przypadku grafiki wektorowej na płaszczyźnie,model analityczny opisany jest parametrycznie w przestrzeni3D

Kula(x0, y0, z0, r , . . .)Prostopadłościan(x1, y1, z1, a, b, c, . . .)Walec(x2, y2, z2, r , h, . . .). . .

Obraz powstaje przez rzutowanie modelu na zadanąpłaszczyznę obserwacji

Rendering uwzględnia dane o położeniu obserwatora ioświetleniu

3 / 15

Grafika wektorowa 3D — reprezentacja obiektów

Podobnie jak w przypadku grafiki wektorowej na płaszczyźnie,model analityczny opisany jest parametrycznie w przestrzeni3D

Kula(x0, y0, z0, r , . . .)Prostopadłościan(x1, y1, z1, a, b, c, . . .)Walec(x2, y2, z2, r , h, . . .). . .

Obraz powstaje przez rzutowanie modelu na zadanąpłaszczyznę obserwacji

Rendering uwzględnia dane o położeniu obserwatora ioświetleniu

3 / 15

Grafika wektorowa 3D — reprezentacja obiektów

Podobnie jak w przypadku grafiki wektorowej na płaszczyźnie,model analityczny opisany jest parametrycznie w przestrzeni3D

Kula(x0, y0, z0, r , . . .)Prostopadłościan(x1, y1, z1, a, b, c, . . .)Walec(x2, y2, z2, r , h, . . .). . .

Obraz powstaje przez rzutowanie modelu na zadanąpłaszczyznę obserwacji

Rendering uwzględnia dane o położeniu obserwatora ioświetleniu

3 / 15

Grafika wektorowa 3D — realistyczny rendering

Źródło: [1]

4 / 15

Grafika wektorowa 3D — realistyczny rendering

Źródło: [2]

5 / 15

Grafika wektorowa 3D — realistyczny rendering

Uwzględnia położenia źródeł światła

Efekty cienia i półcienia

Lustrzane odbicia (zgodne z geometrią odbijającejpowierzchni)

Załamanie (refrakcja) światła w przezroczystych obiektach

Odbicia i załamania wielokrotne

Rozpraszanie i pochłanianie światła

Implementacja — śledzenie promieni: proste, wsteczne,mieszane

6 / 15

Grafika wektorowa 3D — realistyczny rendering

Uwzględnia położenia źródeł światła

Efekty cienia i półcienia

Lustrzane odbicia (zgodne z geometrią odbijającejpowierzchni)

Załamanie (refrakcja) światła w przezroczystych obiektach

Odbicia i załamania wielokrotne

Rozpraszanie i pochłanianie światła

Implementacja — śledzenie promieni: proste, wsteczne,mieszane

6 / 15

Grafika wektorowa 3D — realistyczny rendering

Uwzględnia położenia źródeł światła

Efekty cienia i półcienia

Lustrzane odbicia (zgodne z geometrią odbijającejpowierzchni)

Załamanie (refrakcja) światła w przezroczystych obiektach

Odbicia i załamania wielokrotne

Rozpraszanie i pochłanianie światła

Implementacja — śledzenie promieni: proste, wsteczne,mieszane

6 / 15

Grafika wektorowa 3D — realistyczny rendering

Uwzględnia położenia źródeł światła

Efekty cienia i półcienia

Lustrzane odbicia (zgodne z geometrią odbijającejpowierzchni)

Załamanie (refrakcja) światła w przezroczystych obiektach

Odbicia i załamania wielokrotne

Rozpraszanie i pochłanianie światła

Implementacja — śledzenie promieni: proste, wsteczne,mieszane

6 / 15

Grafika wektorowa 3D — realistyczny rendering

Uwzględnia położenia źródeł światła

Efekty cienia i półcienia

Lustrzane odbicia (zgodne z geometrią odbijającejpowierzchni)

Załamanie (refrakcja) światła w przezroczystych obiektach

Odbicia i załamania wielokrotne

Rozpraszanie i pochłanianie światła

Implementacja — śledzenie promieni: proste, wsteczne,mieszane

6 / 15

Grafika wektorowa 3D — realistyczny rendering

Uwzględnia położenia źródeł światła

Efekty cienia i półcienia

Lustrzane odbicia (zgodne z geometrią odbijającejpowierzchni)

Załamanie (refrakcja) światła w przezroczystych obiektach

Odbicia i załamania wielokrotne

Rozpraszanie i pochłanianie światła

Implementacja — śledzenie promieni: proste, wsteczne,mieszane

6 / 15

Grafika wektorowa 3D — realistyczny rendering

Uwzględnia położenia źródeł światła

Efekty cienia i półcienia

Lustrzane odbicia (zgodne z geometrią odbijającejpowierzchni)

Załamanie (refrakcja) światła w przezroczystych obiektach

Odbicia i załamania wielokrotne

Rozpraszanie i pochłanianie światła

Implementacja — śledzenie promieni: proste, wsteczne,mieszane

6 / 15

Grafika wektorowa 3D — realistyczny rendering

Uwzględnia położenia źródeł światła

Efekty cienia i półcienia

Lustrzane odbicia (zgodne z geometrią odbijającejpowierzchni)

Załamanie (refrakcja) światła w przezroczystych obiektach

Odbicia i załamania wielokrotne

Rozpraszanie i pochłanianie światła

Implementacja — śledzenie promieni: proste, wsteczne,mieszane

6 / 15

Metody renderingu — forward raytracing

Symulacja Monte Carlo ruchu fotonów (ok. 106)podlegających wieloktrotnym odbiciom, refrakcji, rozpraszaniui pochłanianiu przez obiekty sceny

Większość symulowanych cząstek nigdy nie przecinapowierzchni rzutni, przez co znaczna część mocy obliczeniowejjest tracona

Dobra realistyczna jakość generowanego obrazu

7 / 15

Metody renderingu — forward raytracing

Symulacja Monte Carlo ruchu fotonów (ok. 106)podlegających wieloktrotnym odbiciom, refrakcji, rozpraszaniui pochłanianiu przez obiekty sceny

Większość symulowanych cząstek nigdy nie przecinapowierzchni rzutni, przez co znaczna część mocy obliczeniowejjest tracona

Dobra realistyczna jakość generowanego obrazu

7 / 15

Metody renderingu — forward raytracing

Symulacja Monte Carlo ruchu fotonów (ok. 106)podlegających wieloktrotnym odbiciom, refrakcji, rozpraszaniui pochłanianiu przez obiekty sceny

Większość symulowanych cząstek nigdy nie przecinapowierzchni rzutni, przez co znaczna część mocy obliczeniowejjest tracona

Dobra realistyczna jakość generowanego obrazu

7 / 15

Metody renderingu — forward raytracing

Symulacja Monte Carlo ruchu fotonów (ok. 106)podlegających wieloktrotnym odbiciom, refrakcji, rozpraszaniui pochłanianiu przez obiekty sceny

Większość symulowanych cząstek nigdy nie przecinapowierzchni rzutni, przez co znaczna część mocy obliczeniowejjest tracona

Dobra realistyczna jakość generowanego obrazu

7 / 15

Metody renderingu — backward raytracing

Odtwarzanie “historii” promienia na przedłużeniu linii odobserwatora do punktu (piksela) na rzutniObiekt na drodze promienia: z punktu incydencji prowadzonesą promienie wtórne do źródeł światła by określić oświetlenietego punktu (z pozycji obserwatora)Atrybuty obiektu i jego powierzchni: matowa, lustrzana,przezroczysty; rekurencyjna kontynuacja promieni wtórnych(odbitych, załamanych)

8 / 15

Metody renderingu — backward raytracing

Odtwarzanie “historii” promienia na przedłużeniu linii odobserwatora do punktu (piksela) na rzutni

Obiekt na drodze promienia: z punktu incydencji prowadzonesą promienie wtórne do źródeł światła by określić oświetlenietego punktu (z pozycji obserwatora)Atrybuty obiektu i jego powierzchni: matowa, lustrzana,przezroczysty; rekurencyjna kontynuacja promieni wtórnych(odbitych, załamanych)

8 / 15

Metody renderingu — backward raytracing

Odtwarzanie “historii” promienia na przedłużeniu linii odobserwatora do punktu (piksela) na rzutniObiekt na drodze promienia: z punktu incydencji prowadzonesą promienie wtórne do źródeł światła by określić oświetlenietego punktu (z pozycji obserwatora)

Atrybuty obiektu i jego powierzchni: matowa, lustrzana,przezroczysty; rekurencyjna kontynuacja promieni wtórnych(odbitych, załamanych)

8 / 15

Metody renderingu — backward raytracing

Odtwarzanie “historii” promienia na przedłużeniu linii odobserwatora do punktu (piksela) na rzutniObiekt na drodze promienia: z punktu incydencji prowadzonesą promienie wtórne do źródeł światła by określić oświetlenietego punktu (z pozycji obserwatora)Atrybuty obiektu i jego powierzchni: matowa, lustrzana,przezroczysty; rekurencyjna kontynuacja promieni wtórnych(odbitych, załamanych)

8 / 15

Backward raytracing: efekt cienia

Wtórne promienie z punktu incydencjido wszystkich źródeł światła

Kolor piksela na rzutni określanyna podstawie barwy obiektu i światła

Efekt cienia niezbyt realistycznyŹródło: [3]

9 / 15

Backward raytracing: efekt cienia

Wtórne promienie z punktu incydencjido wszystkich źródeł światła

Kolor piksela na rzutni określanyna podstawie barwy obiektu i światła

Efekt cienia niezbyt realistycznyŹródło: [3]

9 / 15

Backward raytracing: efekt cienia

Wtórne promienie z punktu incydencjido wszystkich źródeł światła

Kolor piksela na rzutni określanyna podstawie barwy obiektu i światła

Efekt cienia niezbyt realistycznyŹródło: [3]

9 / 15

Backward raytracing: efekt cienia

Wtórne promienie z punktu incydencjido wszystkich źródeł światła

Kolor piksela na rzutni określanyna podstawie barwy obiektu i światła

Efekt cienia niezbyt realistycznyŹródło: [3]

9 / 15

Backward raytracing: odbicia i załamania

Wielokrotne odbicia

Rekursywne rozgałęzienia — odbicie + załamanie

Kolor piksela: sumaryczny efekt wstecznego śledzeniapromienia z rozgałęzieniami

10 / 15

Backward raytracing: odbicia i załamania

Wielokrotne odbicia

Rekursywne rozgałęzienia — odbicie + załamanie

Kolor piksela: sumaryczny efekt wstecznego śledzeniapromienia z rozgałęzieniami

10 / 15

Backward raytracing: odbicia i załamania

Wielokrotne odbicia

Rekursywne rozgałęzienia — odbicie + załamanie

Kolor piksela: sumaryczny efekt wstecznego śledzeniapromienia z rozgałęzieniami

10 / 15

Backward raytracing: odbicia i załamania

Wielokrotne odbicia

Rekursywne rozgałęzienia — odbicie + załamanie

Kolor piksela: sumaryczny efekt wstecznego śledzeniapromienia z rozgałęzieniami

10 / 15

Algorytm wstecznego śledzenia promieni

kolor BackTrace (X , s) {przedłuż promień z X w kierunku s;wyznacz punkt Y incydencji promienia z obiektem na scenie;if (brak Y ) { return kolor tła; }else {

K1 = 0;for (S ∈ źródło światła) K1 = K1 + oświetlenie (S ,Y );if (odbicie w Y ) { s ′ = odbij (s,Y ); K2 =BackTrace (Y , s ′); }if (załamanie w Y ) { s ′′ = załam (s,Y ); K3 =BackTrace (Y , s ′′); }return K1 + K2 + K3;

}}

for (P ∈ piksele rzutni) {wyznacz kierunek wektora r od obserwatora do P;Kolor[P]=BackTrace (P, r);

};

11 / 15

Metody mieszane: globalne oświetlenie

Metoda dwuprzebiegowa: a) propagacja fotonów od źródełświatła w celu utworzenia mapy ich rozkładu na obiektach;b) właściwy rendering — wsteczne śledzenie promieni

Mapowanie: rejestracja fotonów na powierzchni obiektów poich odbiciu, rozproszeniu lub refrakcji (mapa ma stanowićpoprawkę do bezpośredniego oświetlenia obliczanego przezwsteczne śledzenie)

Wsteczne śledzenie uwzględnia 4 składowe oświetlenia punktuna scenie: bezpośrednie i pochodzące z lustrzanych odbić(obliczane w zwykły sposób)oraz ogniskowanie światła (caustics)i oświetlenie rozproszone obliczanena bazie mapy fotonowej (Źródło: [4]).

12 / 15

Metody mieszane: globalne oświetlenie

Metoda dwuprzebiegowa: a) propagacja fotonów od źródełświatła w celu utworzenia mapy ich rozkładu na obiektach;b) właściwy rendering — wsteczne śledzenie promieni

Mapowanie: rejestracja fotonów na powierzchni obiektów poich odbiciu, rozproszeniu lub refrakcji (mapa ma stanowićpoprawkę do bezpośredniego oświetlenia obliczanego przezwsteczne śledzenie)

Wsteczne śledzenie uwzględnia 4 składowe oświetlenia punktuna scenie: bezpośrednie i pochodzące z lustrzanych odbić(obliczane w zwykły sposób)oraz ogniskowanie światła (caustics)i oświetlenie rozproszone obliczanena bazie mapy fotonowej (Źródło: [4]).

12 / 15

Metody mieszane: globalne oświetlenie

Metoda dwuprzebiegowa: a) propagacja fotonów od źródełświatła w celu utworzenia mapy ich rozkładu na obiektach;b) właściwy rendering — wsteczne śledzenie promieni

Mapowanie: rejestracja fotonów na powierzchni obiektów poich odbiciu, rozproszeniu lub refrakcji (mapa ma stanowićpoprawkę do bezpośredniego oświetlenia obliczanego przezwsteczne śledzenie)

Wsteczne śledzenie uwzględnia 4 składowe oświetlenia punktuna scenie: bezpośrednie i pochodzące z lustrzanych odbić(obliczane w zwykły sposób)oraz ogniskowanie światła (caustics)i oświetlenie rozproszone obliczanena bazie mapy fotonowej (Źródło: [4]).

12 / 15

Metody mieszane: globalne oświetlenie

Metoda dwuprzebiegowa: a) propagacja fotonów od źródełświatła w celu utworzenia mapy ich rozkładu na obiektach;b) właściwy rendering — wsteczne śledzenie promieni

Mapowanie: rejestracja fotonów na powierzchni obiektów poich odbiciu, rozproszeniu lub refrakcji (mapa ma stanowićpoprawkę do bezpośredniego oświetlenia obliczanego przezwsteczne śledzenie)

Wsteczne śledzenie uwzględnia 4 składowe oświetlenia punktuna scenie: bezpośrednie i pochodzące z lustrzanych odbić(obliczane w zwykły sposób)oraz ogniskowanie światła (caustics)i oświetlenie rozproszone obliczanena bazie mapy fotonowej (Źródło: [4]).

12 / 15

Metody mieszane: mapowanie fotonów

Źródło: [5]

Źródło: [6]

13 / 15

Metody mieszane: mapowanie fotonów

Źródło: [5]

Źródło: [6]

13 / 15

Metoda energetyczna (radiosity)

Symulacja rozpraszania światła przezwielokrotne odbicia

Rozkład obiektów naskończoną liczbę płatów {Si}Dla każdego Si określona jestjego energia świetlna Ri (radiosity)oraz współczynnik odbicia (pochłaniania) światła ρiDla każdej pary Si , Sj określony jest współczynnik sprzężeniaoptycznego γij (ile energii świetlnej przekazywanej jest z Sj doSi ), zależny m.in. od ich wzajemnego położenia

Rt+1i = Rt

i + ρi∑j

γijRtj ,

gdzie t to numer iteracji

14 / 15

Metoda energetyczna (radiosity)

Symulacja rozpraszania światła przezwielokrotne odbicia

Rozkład obiektów naskończoną liczbę płatów {Si}

Dla każdego Si określona jestjego energia świetlna Ri (radiosity)oraz współczynnik odbicia (pochłaniania) światła ρiDla każdej pary Si , Sj określony jest współczynnik sprzężeniaoptycznego γij (ile energii świetlnej przekazywanej jest z Sj doSi ), zależny m.in. od ich wzajemnego położenia

Rt+1i = Rt

i + ρi∑j

γijRtj ,

gdzie t to numer iteracji

14 / 15

Metoda energetyczna (radiosity)

Symulacja rozpraszania światła przezwielokrotne odbicia

Rozkład obiektów naskończoną liczbę płatów {Si}Dla każdego Si określona jestjego energia świetlna Ri (radiosity)oraz współczynnik odbicia (pochłaniania) światła ρi

Dla każdej pary Si , Sj określony jest współczynnik sprzężeniaoptycznego γij (ile energii świetlnej przekazywanej jest z Sj doSi ), zależny m.in. od ich wzajemnego położenia

Rt+1i = Rt

i + ρi∑j

γijRtj ,

gdzie t to numer iteracji

14 / 15

Metoda energetyczna (radiosity)

Symulacja rozpraszania światła przezwielokrotne odbicia

Rozkład obiektów naskończoną liczbę płatów {Si}Dla każdego Si określona jestjego energia świetlna Ri (radiosity)oraz współczynnik odbicia (pochłaniania) światła ρiDla każdej pary Si , Sj określony jest współczynnik sprzężeniaoptycznego γij (ile energii świetlnej przekazywanej jest z Sj doSi ), zależny m.in. od ich wzajemnego położenia

Rt+1i = Rt

i + ρi∑j

γijRtj ,

gdzie t to numer iteracji

14 / 15

Metoda energetyczna (radiosity)

Symulacja rozpraszania światła przezwielokrotne odbicia

Rozkład obiektów naskończoną liczbę płatów {Si}Dla każdego Si określona jestjego energia świetlna Ri (radiosity)oraz współczynnik odbicia (pochłaniania) światła ρiDla każdej pary Si , Sj określony jest współczynnik sprzężeniaoptycznego γij (ile energii świetlnej przekazywanej jest z Sj doSi ), zależny m.in. od ich wzajemnego położenia

Rt+1i = Rt

i + ρi∑j

γijRtj ,

gdzie t to numer iteracji

14 / 15

Źródła ilustracji

[1] Autor: Shen, Wikipedia, https://commons.wikimedia.org/wiki/File:Raytracing reflection.png#/media/File:Raytracing reflection.png

[2] Autor: Gilles Tran, Wikipedia, https://commons.wikimedia.org/wiki/File:Glasses 800 edit.png#/media/File:Glasses 800 edit.png

[3] https://commons.wikimedia.org/wiki/File:Radiosity Comparison.jpg

[4] https://commons.wikimedia.org/wiki/File:3d-art-of-illusion-glas.jpg

[5] https://commons.wikimedia.org/wiki/File:Caustics.png,https://de.wikipedia.org/wiki/Photon Mapping#/media/File:Glas-2000-enery.jpg

[6] https://www.cs.berkeley.edu/∼sequin/CS184/TOPICS/GlobalIllumination/Gill a.html

15 / 15