1/43 Gry komputerowe: efekty specjalne cz. 2 Przygotowała: Anna Tomaszewska 2/43 Mapowanie środowiska - definicja aproksymacje odbić na powierzchnie prosto- i krzywoliniowej," oświetlanie sceny." obserwator e n konwersja wektora odbicia r (x,y,z) na teksturę (u,v) za pomocą funkcji mapowania r powierzchnia odbijająca tekstura mapy otoczenia 1
3/43 Mapowanie środowiska - algorytm ALGORYTM - utworzenie mapy środowiska, - obliczenie wektora normalnego dla każdego obiektu zawierającego się w obiekcie o własnościach odbijających, - obliczenie promienia odbitego dla każdego piksela, - wykorzystanie promienia odbitego do wyznaczenia indeksu w mapie środowiska, - obliczenie i pobranie koloru teksela. geometria" eye" N Environment Map Viewpoint mapowanie tekstury" promień odbity" ( u, v ) tekstura" 4/43 Mapowanie środowiska - kubiczne Top Left Front Right Back Bottom źródło: http://www.nvnews.net/reviews/geforce_256/cube_mapping.shtml 2
5/43 Mapowanie środowiska mapowanie sferyczne Obliczenie wektora odbitego r oraz parametrów u, v. n'= S " n, r = e'! 2(n'" e')n' e'= S " e m = r x 2 + r y 2 + (r z +1) 2 u = r x 2m + 0.5, Transformacja parametrów u, v z <-1,1> do <0,1>. v = r y 2m + 0.5 6/43 Mapowanie środowiska mapowanie sferyczne Sferyczna mapa środowiska zawiera informacje dotyczące zarówno przodu jak i tyłu sceny." Top grace cathedral lightprobe Left Back Right eucalyptus grove lightprobe Bottom Front 3
7/43 Mapowanie środowiska mapowanie sferyczne mapowanie sferyczne - zależne od obserwatora poprawne odbicie widoczne błędy przy odbiciu po zmianie położenia obserwatora źródło: http://www.nvnews.net/reviews/geforce_256/cube_mapping.shtml 8/43 Mapowanie środowiska mapowanie sferyczne 4
9/43 Mapowanie środowiska mapowanie sferyczne mapowanie sferyczne - zależne od obserwatora grace cathedral lightprobe przód źródło: http://graphics.ucsd.edu/~henrik/papers/ewr7/ tył - błedy wynikające z braku informacji 10/43 Mapowanie środowiska mapowanie sferyczne Generowanie EM na podstawie standardowych technik: fotografia sfery, rendering 6-ciu powierzchni sześcianu ze środka obiektu. 5
11/43 Grafika realistyczna a EM ray-tracing" statyczne mapowanie środowiska" Brak odbić lokalnych 12/43 Parametryczne Mapowanie Środowiska (ang. Parameterized Environment Maps) PEM E M 1 E M 2 E M 3 E M 4 E M 5 E M 6 E M 7 E M 8 6
12/20/13 13/43 Parametryczne Mapowanie Środowiska - algorytm 1. Preprocessing: dla każdego z 6 widoków, wykonanie obrazów w oparciu o algorytmy grafiki realistycznej" 2. Preprocessing: przygotowanie map środowiska (EMs) EM1 3. EM2 EM3 EM4 EM5 EM6 EM7 EM8 Run-time: Blending pomiędzy dwoma najbliższymi mapami środowiska." Gry komputerowe: efekty specjalne cz. 2 Inżynieria Cyfryzacji Wykład 6 14/43 Grafika realistyczna a PEM ray-tracing" parametryczne mapowanie środowiska" Widoczne lokalne odbicia typu: self-reflection. Gry komputerowe: efekty specjalne cz. 2 Inżynieria Cyfryzacji Wykład 6 7
12/20/13 15/43 Wielokrotne odbicia - mapowanie środowiska Gry komputerowe: efekty specjalne cz. 2 Inżynieria Cyfryzacji Wykład 6 16/43 Odbicie obiektów w powierzchniach płaskich objekt prawdziwy N promień padający promień odbity Jeśli lustro przechodzi przez środek układu współrzędnych i jej wektor normalny jest równoległy do osi OY, wystarczy przeskalować obiekt macierzą S(1,-1,1), " W przeciwnym przypadku należy dokonać transformacji do środka układu współrzędnych (M), odbić obiekt, wykonać transformację odwrotną (M-1)" lustro" objekt odbity Gry komputerowe: efekty specjalne cz. 2 Inżynieria Cyfryzacji Wykład 6 8
12/20/13 17/43 Mapowanie nierówności (ang. bump mapping)- definicja Pozorne zniekształcenie przestrzenne powierzchni poprzez nałożenie tekstury (obliczana dla wszystkich pikseli). Modyfikacja kierunku wektora normalnego podczas obliczania równania oświetlenia." N Gry komputerowe: efekty specjalne cz. 2 Inżynieria Cyfryzacji Wykład 6 18/43 Mapowanie nierówności - idea n n p p Gry komputerowe: efekty specjalne cz. 2 p Inżynieria Cyfryzacji Wykład 6 9
19/43 Mapowanie nierówności - przykład mapa nierówności" mapa nierówności" 20/43 Mapowanie nierówności przykład 10
21/43 Mapowanie nierówności przykład 22/43 Cube mapping +Bump mapping 11
12/20/13 23/43 przykład diffuse texture" diffuse texture + specular environment map" tekstura diffuse + specular environment map + gloss texture " tekstura diffuse + specular environment map + gloss texture + planar reflection " źródło: http://www.nzone.com/object/nzone_downloads_nvidia.html Gry komputerowe: efekty specjalne cz. 2 Inżynieria Cyfryzacji Wykład 6 24/43 Mapowanie nierówności - Environment Map Bump Mapping (3) źródło: http://www.nzone.com/object/nzone_downloads_nvidia.html Gry komputerowe: efekty specjalne cz. 2 Inżynieria Cyfryzacji Wykład 6 12
25/43 Czy cienie są potrzebne?" Wprowadzają informacje o wzajemnych relacjach przesterzennych obiektów na scenie oraz ich ruchu. "? 26/43 Czy cienie są potrzebne?" Cienie wprowadzają informacje o położeniu oraz wielkosci ubiektu na scenie. " http://artis.imag.fr/research/realtimeshadows/image.html?img=relativeposition.jpg 13
27/43 Czy cienie są potrzebne?" http://artis.imag.fr/research/realtimeshadows/image.html?img=relativeposition.jpg 28/43 Czy cienie są potrzebne?" Cienie pozwalają poprawnie zinterpretowac złożoną budowe obiektu na który jest rzucany cień. " http://artis.imag.fr/research/realtimeshadows/image.html?img=relativeposition.jpg 14
29/43 Czy cienie są potrzebne?" 30/43 Czy cienie są potrzebne?" Cienie pozwalają poprawnie zinterpretowac złożoną budowe obiektu rzucającego cień. Widać, że robot trzyma czajnik, mimo ze ta część obiektu jest niewidoczna dla obserwatora. " http://artis.imag.fr/research/realtimeshadows/image.html?img=relativeposition.jpg 15
31/43 Czy cienie są potrzebne?" http://artis.imag.fr/research/realtimeshadows/image.html?img=relativeposition.jpg 32/43 Czy cienie są potrzebne?" cienie rysowane nawet ręcznie jako proste poligony, nie dają co prawda efektu globalnego, ale zawsze są lepsze niż brak cieni!" Images from TombRaider. Eidos Interactive. 16
33/43 Czy cienie są potrzebne?" Zdecydowanie dodają dramaturgii scenie!" 34/43 Cienie - wprowadzenie" obszar ukryty przed źródłem światła," co sugeruje wykorzystanie algorytmów ukrywających powierzchnie (culling)," cień rzucany przez obiekt A na obiekt B można postrzegać jako projekcję obiektu A na obiekt B, traktując źródło światła jako środek projekcji," co sugeruje wykorzystanie macierzy rzutowania," dla scen statycznych (światło i geometria), generowane cienie są również statyczne," preprosessing," mało kosztowne w przeciwieństwie do scen dynamicznych," punktowe źródła światła rzucają wyłącznie cienie twarde," powierzchniowe źródła światła dają cienie miękkie. " źródło światła obiekt rzucający cień cień obiekt na który cień jest rzucany 17
Hard shadows" Punktowe źródła światła" 35/43 źródło światła Viewer Occluder punkt w cieniu punkt oświetlony http://artis.imag.fr/research/realtimeshadows/hard_vs_soft.html# 36/43 Hard shadows" http://artis.imag.fr/research/realtimeshadows/hard_vs_soft.html# 18
Soft shadows" Powierzchniowe źródła światła" 37/43 źródło światła Viewer Occluder punkt oświetlony punkt w cieniu Cienie wielokrotne" 38/43 Cienie dla wielu źródeł światła są łtwe do wyliczenia jeśli wiadomo jak obliczyć cień dla pojedyńczego światła Ze wzgledu na liniowa nature transferu swiatla wynik koncowy to suma udzialu kazdego swiatla o danej dlugosci lub przedzialu kolorow. 19
Cienie wielokrotne" 39/43 Terminologia" 40/43 punkt znajduje się w cieniu jeżeli istnieje blokada dostępu światła do tego punktu," occluder - obiekt rzucający cień," receiver - obiekt na który cień jest rzucany." umbra - obszar wyłacznie twardego cienia," prenumbra - obszar miękkiego cienia." źródło światła occluder occluder and receiver preumbra! receiver umbra! 20
41/43 Algorytmy tworzenia cieni w systemach graficznych czasu rzeczywitego" cienie planarne, Blinnʼ88" Stencil shadow volumes, Cormacʼ00/Huʼ98" shadow maps" 42/43 Planar shadows (projected shadows & soft shadows)" cienie rzucane na wybrane, wzglednie dużych rozmiarów poligony," rzut wyłącznie na powierzchnie plaskie: podloga, ściana," ponieważ cień jest niezależny od obserwatora, efektywność można uzyskać poprzez rendering cienia do tekstury." 21
12/20/13 43/43 Cienie - podsumowanie" Bez cieni brak jest realizmu na scenie Algorytmy tworzące dobrze wyglądające cienie są kosztowne Wybór algorytmu zależy od aplikacji Fantasy world!doom3! efekt globalny wykorzystanie wspomagania sprzętowego, złożoność sceny, jakość generowanego cienia. Images from TombRaider. Eidos Interactive.! Gry komputerowe: efekty specjalne cz. 2 Inżynieria Cyfryzacji Wykład 6 22