Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Shadowing Michał Drobot Technical Art Director Reality Pump.

Podobne prezentacje


Prezentacja na temat: "Shadowing Michał Drobot Technical Art Director Reality Pump."— Zapis prezentacji:

1 Shadowing Michał Drobot Technical Art Director Reality Pump

2 Charakterystyka cieniaCharakterystyka cienia Algorytmy cieniAlgorytmy cieni Shadow VolumesShadow Volumes Shadow MappingShadow Mapping Plan wykładu

3 Cień powstaje w wyniku przesłonięcie źródła światła przez okluderCień powstaje w wyniku przesłonięcie źródła światła przez okluder Miejsce, do którego nie dociera światłoMiejsce, do którego nie dociera światło Jest naturalny dla człowiekaJest naturalny dla człowieka Ważny element naszej wizji człowiekaWażny element naszej wizji człowieka Ułatwia pozycjonowanie obiektów w przestrzeniUłatwia pozycjonowanie obiektów w przestrzeni Ocena odległości obiektu od powierzchniOcena odległości obiektu od powierzchni Ocena odległości źródła światła od obiektuOcena odległości źródła światła od obiektu Rodzaju materiału, z którego wykonano obiektRodzaju materiału, z którego wykonano obiekt Ocena charakterystyki światłaOcena charakterystyki światła Cień

4 Pozycjonowanie obiektuPozycjonowanie obiektu Odległość obiektu od płaszczyznyOdległość obiektu od płaszczyzny Cienie kontaktoweCienie kontaktowe Cień

5 Ocena odległości źródła światła od obiektuOcena odległości źródła światła od obiektu Cień

6 Cień

7 Ocena materiału z którego wykonano obiekt przesłaniającyOcena materiału z którego wykonano obiekt przesłaniający Kolorowe szkło, wosk, skóra, mat przeźroczysteKolorowe szkło, wosk, skóra, mat przeźroczyste Cień

8 Ocena charakterystyki źródła światłaOcena charakterystyki źródła światła Punktowe, obszarowe (wielkość, stosunek wielkości do obiektów)Punktowe, obszarowe (wielkość, stosunek wielkości do obiektów) Cień

9 Umbra – obszar znajdujący się w cieniu całkowitymUmbra – obszar znajdujący się w cieniu całkowitym Penumbra – obszar znajdujący się w półcieniuPenumbra – obszar znajdujący się w półcieniu Cień Umbra Penumbra

10 Cień

11 Rzutowanie płaszczyznRzutowanie płaszczyzn Stencil shadows, Shadow VolumesStencil shadows, Shadow Volumes Śledzenie promieniŚledzenie promieni RaytracingRaytracing Porównywanie głębi ZPorównywanie głębi Z Shadow mappingShadow mapping Algorytmy

12 Potraktujmy cienie jako bryły przestrzennePotraktujmy cienie jako bryły przestrzenne Cień jako bryła jest obiektem, w którym nie jest niesione światło dla danego źródłaCień jako bryła jest obiektem, w którym nie jest niesione światło dla danego źródła Shadow Volumes Bryła cienia Trójkąt rzucający cień Punkt światła

13 Shadow Volumes

14

15 Generacja Shadow VolumeówGeneracja Shadow Volumeów Zrzutuj promień od światła, przez każdy vertex w nieskończonośćZrzutuj promień od światła, przez każdy vertex w nieskończoność Zrzutowane wektory/vertexy utworzą bryłę cieniaZrzutowane wektory/vertexy utworzą bryłę cienia Interesującą nas częścią okludera jest jedynie jego sylwetkaInteresującą nas częścią okludera jest jedynie jego sylwetka Znajdź sylwetkę z punktu widzenia światłaZnajdź sylwetkę z punktu widzenia światła Rozciągnij ją w nieskończoność OD światłaRozciągnij ją w nieskończoność OD światła W zależności od algorytmu zamknij bryłę (cap)W zależności od algorytmu zamknij bryłę (cap) Shadow Volumes

16 Podczas tworzenia shadow volumeaPodczas tworzenia shadow volumea Prześlij każdą krawędź obiektu jako zdegenerowany quadPrześlij każdą krawędź obiektu jako zdegenerowany quad Znajdź w VS krawędzie (poprzez dot product)Znajdź w VS krawędzie (poprzez dot product) Odpowiednie 2 vertexy przemieść w nieskończoność wzdłuż wektora od światłaOdpowiednie 2 vertexy przemieść w nieskończoność wzdłuż wektora od światła Pozostałe będą dalej zdegenerowane i zostaną wyrzucone z potoku renderowaniaPozostałe będą dalej zdegenerowane i zostaną wyrzucone z potoku renderowania Front/Back – cap tworzą front/back facey przesunięta na odpowiednią odległość (clip plane/far plane/nieskończoność)Front/Back – cap tworzą front/back facey przesunięta na odpowiednią odległość (clip plane/far plane/nieskończoność) Shadow Volumes

17 Ogólny algorytm oświetlania z cieniamiOgólny algorytm oświetlania z cieniami Wypełnij Z-buffer scenyWypełnij Z-buffer sceny Zaznacz miejsca na obrazie w których występuje cień poprzez rasteryzacje shadow volumeówZaznacz miejsca na obrazie w których występuje cień poprzez rasteryzacje shadow volumeów Użyj stencil bufferaUżyj stencil buffera Korzystając z gotowej informacji wyrenderuj scenę (np.):Korzystając z gotowej informacji wyrenderuj scenę (np.): Pierwszy pass – ambient light (zapełnia z-buffer, krok 1)Pierwszy pass – ambient light (zapełnia z-buffer, krok 1) Drugi pass – oświetlenie korzystając z informacji o cieniuDrugi pass – oświetlenie korzystając z informacji o cieniu Ewentualnie światła deferred przycięte volumeami, bądź odczytujące wartość cienia z texturyEwentualnie światła deferred przycięte volumeami, bądź odczytujące wartość cienia z textury Shadow Volumes

18 Depth PassDepth Pass Wyłącz pisanie do Z i koloruWyłącz pisanie do Z i koloru Ustaw back-face cullingUstaw back-face culling Ustaw stencil na inkrementacje przy depth passUstaw stencil na inkrementacje przy depth pass Tylko volumey przed obiektemTylko volumey przed obiektem Wyrenderuj shadow volumeyWyrenderuj shadow volumey Tylko front-facey bryłTylko front-facey brył Ustaw front-face cullingUstaw front-face culling Ustaw stencil na dekrementację przy depth passUstaw stencil na dekrementację przy depth pass Wyrenderuj shadow volumeyWyrenderuj shadow volumey Tylko back-facey bryłTylko back-facey brył Oświetlone płaszczyzny mają 0 w stenciluOświetlone płaszczyzny mają 0 w stencilu Shadow Volumes

19 Depth PassDepth Pass Problematyczny jeśli kamera jest wewnątrz bryły cieniaProblematyczny jeśli kamera jest wewnątrz bryły cienia Błędny wynik cieniowaniaBłędny wynik cieniowania W tym wypadku najprostszą metodą jest przełączyć się na Depth FailW tym wypadku najprostszą metodą jest przełączyć się na Depth Fail Shadow Volumes

20 Depth FailDepth Fail Wyłącz pisanie do Z i koloruWyłącz pisanie do Z i koloru Ustaw front-face cullingUstaw front-face culling Ustaw stencil na inkrementacje przy depth failUstaw stencil na inkrementacje przy depth fail Tylko volumey za obiektemTylko volumey za obiektem Wyrenderuj shadow volumeyWyrenderuj shadow volumey Tylko back-facey bryłTylko back-facey brył Ustaw back-face cullingUstaw back-face culling Ustaw stencil na dekrementację przy depth failUstaw stencil na dekrementację przy depth fail Wyrenderuj shadow volumeyWyrenderuj shadow volumey Tylko front-facey bryłTylko front-facey brył Oświetlone płaszczyzny mają 0 w stenciluOświetlone płaszczyzny mają 0 w stencilu Shadow Volumes

21 Depth FailDepth Fail Ze względu na rasteryzację uznawany za wolniejszyZe względu na rasteryzację uznawany za wolniejszy W zamian za brak problemów wewnątrz bryłyW zamian za brak problemów wewnątrz bryły Wymaga back-capowania bryłyWymaga back-capowania bryły Inaczej cień nie zostanie znaleziony tam gdzie punkty bryły odchodzą do nieskończonościInaczej cień nie zostanie znaleziony tam gdzie punkty bryły odchodzą do nieskończoności Shadow Volumes

22 Shadow mappingShadow mapping Konceptualnie cieniowanie traktujemy jako problem widocznościKonceptualnie cieniowanie traktujemy jako problem widoczności Punkt znajdujący się w cieniuPunkt znajdujący się w cieniu Światło nie widzi punktuŚwiatło nie widzi punktu Oko widzi punktOko widzi punkt Punkt znajdujący się w świetlePunkt znajdujący się w świetle Światło widzi punktŚwiatło widzi punkt Oko widzi punktOko widzi punkt Shadow Mapping

23 Opiera się na porównawczym teście widocznościOpiera się na porównawczym teście widoczności Widok światła jest renderowany do textury głębi (shadow map)Widok światła jest renderowany do textury głębi (shadow map) Scena jest renderowana normalnie z punktu widzenia okaScena jest renderowana normalnie z punktu widzenia oka Dla każdego punktu wykonywane jest porównanie głębi punktu w przestrzeni światła między punktem renderowanym (przetransformowanym przez odpowiednią macierz) z punktem zapisanym w shadow mapieDla każdego punktu wykonywane jest porównanie głębi punktu w przestrzeni światła między punktem renderowanym (przetransformowanym przez odpowiednią macierz) z punktem zapisanym w shadow mapie Metoda w pełni w przestrzeni obrazuMetoda w pełni w przestrzeni obrazu Nie wymaga wiedzy o geometrii scenyNie wymaga wiedzy o geometrii sceny Shadow Mapping

24 Opiera się na porównawczym teście widocznościOpiera się na porównawczym teście widoczności Widok światła jest renderowany do textury głębi (shadow map)Widok światła jest renderowany do textury głębi (shadow map) Scena jest renderowana normalnie z punktu widzenia okaScena jest renderowana normalnie z punktu widzenia oka Dla każdego punktu wykonywane jest porównanie głębi punktu w przestrzeni światła między punktem renderowanym (przetransformowanym przez odpowiednią macierz) z punktem zapisanym w shadow mapieDla każdego punktu wykonywane jest porównanie głębi punktu w przestrzeni światła między punktem renderowanym (przetransformowanym przez odpowiednią macierz) z punktem zapisanym w shadow mapie Shadow Mapping

25 ZaletyZalety Nie wymaga stencil bufferaNie wymaga stencil buffera W wielu przypadkach jest szybszy ze względu na rasteryzację oraz mniejszą liczbę operacji transformacjiW wielu przypadkach jest szybszy ze względu na rasteryzację oraz mniejszą liczbę operacji transformacji Umożliwia generowanie cieni z alpha-testowanych texturUmożliwia generowanie cieni z alpha-testowanych textur Umożliwia łatwą integrację miękkich cieni (penumbra shadows / soft shadows)Umożliwia łatwą integrację miękkich cieni (penumbra shadows / soft shadows) Umożliwia tworzenie cieni transparentnychUmożliwia tworzenie cieni transparentnych Ma uzasadnienie praktyczno wydajnościowe w scenach otwartych (oświetlenie słoneczne)Ma uzasadnienie praktyczno wydajnościowe w scenach otwartych (oświetlenie słoneczne) Umożliwia łatwą integrację z projekcją texturUmożliwia łatwą integrację z projekcją textur Shadow Mapping

26 WadyWady Mniej dokładna od Shadow VolumeówMniej dokładna od Shadow Volumeów Metoda rasteryzacji zamiast operacji geometrycznejMetoda rasteryzacji zamiast operacji geometrycznej Problem z aliasingiem ze względu na dyskretyzację shadow mapyProblem z aliasingiem ze względu na dyskretyzację shadow mapy RozdzielczośćRozdzielczość Zajętość pamięci shadow mapą dla każdego światłaZajętość pamięci shadow mapą dla każdego światła Problem renderowania świateł o dużych kątach oświetlaniaProblem renderowania świateł o dużych kątach oświetlania Point light = kilka shadow mapPoint light = kilka shadow map Shadow Mapping

27 WadyWady Mniej dokładna od Shadow VolumeówMniej dokładna od Shadow Volumeów Metoda rasteryzacji zamiast operacji geometrycznejMetoda rasteryzacji zamiast operacji geometrycznej Problem z aliasingiem ze względu na dyskretyzację shadow mapyProblem z aliasingiem ze względu na dyskretyzację shadow mapy RozdzielczośćRozdzielczość Zajętość pamięci shadow mapą dla każdego światłaZajętość pamięci shadow mapą dla każdego światła Problem renderowania świateł o dużych kątach oświetlaniaProblem renderowania świateł o dużych kątach oświetlania Point light = kilka shadow mapPoint light = kilka shadow map Shadow Mapping

28 Wyrenderuj do textury z-buffer z punktu widzenia światłaWyrenderuj do textury z-buffer z punktu widzenia światła Shadow mapa używana późniejShadow mapa używana później Zawiera rodzaj 2D funkcji oznaczającej odległość najbliższych do światła punktówZawiera rodzaj 2D funkcji oznaczającej odległość najbliższych do światła punktów W podstawowej wersji odległość ZW podstawowej wersji odległość Z Wyrenderuj scenę z punktu widzenia okaWyrenderuj scenę z punktu widzenia oka Dla każdego pixelaDla każdego pixela Zdefiniuj pozycję XYZ pixela w przestrzeni światłaZdefiniuj pozycję XYZ pixela w przestrzeni światła Powinna się zgadzać z parametrami wg. Jakich została stworzona shadow mapaPowinna się zgadzać z parametrami wg. Jakich została stworzona shadow mapa Dokonaj testu porównawczegoDokonaj testu porównawczego Shadow Mapping

29 Test porównawczyTest porównawczy Dwie wartościDwie wartości A = wartość Z z shadow mapy (z punktu XY pixela w przestrzeni światła)A = wartość Z z shadow mapy (z punktu XY pixela w przestrzeni światła) B = wartość Z punktu XYZ pixela w przestrzeni światłaB = wartość Z punktu XYZ pixela w przestrzeni światła Jeśli B > A to znaczy, że istnieje punkt obiektu będącego bliżej światła niż cieniowany pixelJeśli B > A to znaczy, że istnieje punkt obiektu będącego bliżej światła niż cieniowany pixel Pixel jest w cieniuPixel jest w cieniu Jeśli A ~~ B to znaczy, że pixel jest oświetlonyJeśli A ~~ B to znaczy, że pixel jest oświetlony Shadow Mapping

30 light source eye position depth map Z = A fragments light Z = B depth map image plane eye view image plane, a.k.a. the frame buffer B > A

31 Shadow Mapping light source eye position depth map Z = A fragments light Z = B depth map image plane eye view image plane, a.k.a. the frame buffer B ~A

32 Precyzja shadow mapy może się różnić od precyzji bufora, do którego generujemy cieńPrecyzja shadow mapy może się różnić od precyzji bufora, do którego generujemy cień Dochodzi do pomyłek w szacowaniuDochodzi do pomyłek w szacowaniu ArtefaktówArtefaktów Widocznego aliasinguWidocznego aliasingu Pixelozy na krawędzi cieniaPixelozy na krawędzi cienia Shadow Mapping

33 Copyright by nvidia

34 Shadow Mapping

35

36 Shadow biasShadow bias Problem wynikły z dyskretyzacjiProblem wynikły z dyskretyzacji Błędne samo-cieniowanie płaszczyznBłędne samo-cieniowanie płaszczyzn Objawia się tzw. Shadow ackne tworząc efekt MoireaObjawia się tzw. Shadow ackne tworząc efekt Moirea Zapisywaną głębie do shadow mapy należy przesunąć o małą wartośćZapisywaną głębie do shadow mapy należy przesunąć o małą wartość Na tyle dużą by uniknąć błedówNa tyle dużą by uniknąć błedów Na tyle małą, żeby cień nie odszedł za daleko od obiektuNa tyle małą, żeby cień nie odszedł za daleko od obiektu Można dobrać ręcznieMożna dobrać ręcznie Istnieją algorytmy, które dobierają ją optymalnie w czasie rzeczywistym względem danego pixelaIstnieją algorytmy, które dobierają ją optymalnie w czasie rzeczywistym względem danego pixela Shadow Mapping

37 Bias

38 Shadow Mapping

39 Shadow mapaShadow mapa Musi być generowana z każdą zmiana światłaMusi być generowana z każdą zmiana światła Musi być generowana z każda zmianą obiektów rzucających cieńMusi być generowana z każda zmianą obiektów rzucających cień W zależności od algorytmu może być niezależna od ruchu okaW zależności od algorytmu może być niezależna od ruchu oka Problem doboru projekcji przy konstrukcji macierzy światłaProblem doboru projekcji przy konstrukcji macierzy światła Problem doboru shadow casterów oraz frustumProblem doboru shadow casterów oraz frustum Problem undersamplinguProblem undersamplingu Problem filtrowaniaProblem filtrowania Shadow Mapping

40 Problem doboru projekcji przy konstrukcji macierzy światłaProblem doboru projekcji przy konstrukcji macierzy światła Dla świateł punktowych bądź typu spot używamy projekcji perspektywicznej szerokiej wg kąta oświetlenia światłaDla świateł punktowych bądź typu spot używamy projekcji perspektywicznej szerokiej wg kąta oświetlenia światła Efektywnie do 90*Efektywnie do 90* Dla świateł szerszych można rozważyć projekcjeDla świateł szerszych można rozważyć projekcje Point light = 6 * projekcja 90 = cubemapPoint light = 6 * projekcja 90 = cubemap Ewentualnie możliwe projekcje wrap : sphere mapping, paraboloid mappingEwentualnie możliwe projekcje wrap : sphere mapping, paraboloid mapping Dla świateł kierunkowych (słońce) używamy zaawansowanych projekcjiDla świateł kierunkowych (słońce) używamy zaawansowanych projekcji OrtogonalnaOrtogonalna Projekcje wrapujące ze względu na zwiększenie jakościProjekcje wrapujące ze względu na zwiększenie jakości Shadow Mapping

41 Dobór obiektówDobór obiektów Obiekty, które będą wyrenderowane do shadow mapyObiekty, które będą wyrenderowane do shadow mapy Są oznaczone jako shadow castingSą oznaczone jako shadow casting Np. ze względu na wielkość (automatycznie odrzucamy zbyt małe obiekty których wielkość na shadow mapie będzie mniejsza niż n pixeli – w szczególności <1)Np. ze względu na wielkość (automatycznie odrzucamy zbyt małe obiekty których wielkość na shadow mapie będzie mniejsza niż n pixeli – w szczególności <1) Znajdują się w light frustum wyznaczonymZnajdują się w light frustum wyznaczonym Przez macierz światłaPrzez macierz światła Przyciętym na far przez frustum okaPrzyciętym na far przez frustum oka Przyciętym na near na pierwszy shadow castujący obiektPrzyciętym na near na pierwszy shadow castujący obiekt Shadow Mapping

42 Wyznaczenie near planeWyznaczenie near plane W zależności od sytuacji możemy wybrać near plane tuż przy świetleW zależności od sytuacji możemy wybrać near plane tuż przy świetle Może mieć dramatyczny efekt w skomplikowanych scenachMoże mieć dramatyczny efekt w skomplikowanych scenach Np. teren podczas gdy słońce jest niskoNp. teren podczas gdy słońce jest nisko Możemy odrzucać obiekty po funkcji wielkości bounding boxów oraz kąta padania światłaMożemy odrzucać obiekty po funkcji wielkości bounding boxów oraz kąta padania światła Specyficzne sytuacjeSpecyficzne sytuacje Możemy zrzutować wierzchołki bounding boxów wg macierzy światła i sprawdzić przecięcie z view frustrumMożemy zrzutować wierzchołki bounding boxów wg macierzy światła i sprawdzić przecięcie z view frustrum Jęsli przecięcia nie będzie, oznacza to, że mamy pewność nie zobaczenia cieni przez okoJęsli przecięcia nie będzie, oznacza to, że mamy pewność nie zobaczenia cieni przez oko Shadow Mapping

43 Problem undersamplinguProblem undersamplingu Występuje gdy w wyniku różnic perspektywy bądź projekcji wielkość potencjalnego pixela shadow mapy jest mniejsza niż pixela płaszczyzny na która generujemy cieńWystępuje gdy w wyniku różnic perspektywy bądź projekcji wielkość potencjalnego pixela shadow mapy jest mniejsza niż pixela płaszczyzny na która generujemy cień d > di d > di ds * rs / ri – perspektywa ds * rs / ri – perspektywa cosb/cosa - projekcja cosb/cosa - projekcja Shadow Mapping

44 Undersmapling rozwiązywanyUndersmapling rozwiązywany Zwiększanie rozdzielczości shadow mapyZwiększanie rozdzielczości shadow mapy Mało wydajne na pixel (duże marnotrawstwo)Mało wydajne na pixel (duże marnotrawstwo) Zmiany projekcji wymuszające większą rozdzielczość w bardziej potrzebnych miejscachZmiany projekcji wymuszające większą rozdzielczość w bardziej potrzebnych miejscach Trapezoidal mappingTrapezoidal mapping Perspective mappingPerspective mapping Podział frustrum oka na części obsługiwane przez różne shadow mapy o różnej charakterystyce (dalsze mniejsza rozdzielczość)Podział frustrum oka na części obsługiwane przez różne shadow mapy o różnej charakterystyce (dalsze mniejsza rozdzielczość) Podział frustrum światła wg podziału frustrum okaPodział frustrum światła wg podziału frustrum oka Podział ze względu na optymalizacje rozdzielczości analitycznej shadow mapyPodział ze względu na optymalizacje rozdzielczości analitycznej shadow mapy Parametryzowalne przez ilosc podzialow jak I rozdzielczosc poszczegolnych shadow mapParametryzowalne przez ilosc podzialow jak I rozdzielczosc poszczegolnych shadow map Shadow Mapping

45

46 Problem filtrowaniaProblem filtrowania Shadow mapa nie może być filtrowana standardowo tak jak zwykłe teksturyShadow mapa nie może być filtrowana standardowo tak jak zwykłe tekstury Da to błędny wynikDa to błędny wynik Ze względu na dyskretyzacje filtrowanie jest potrzebneZe względu na dyskretyzacje filtrowanie jest potrzebne Wykonuje się je przy użyciu filtra PCFWykonuje się je przy użyciu filtra PCF RęcznieRęcznie Sprzętowo dla obszaru 2x2 pixeleSprzętowo dla obszaru 2x2 pixele Ręcznie dla tworzenia miękkich cieni oraz penumbra shadowsRęcznie dla tworzenia miękkich cieni oraz penumbra shadows Shadow Mapping

47

48

49

50 Problem filtrowaniaProblem filtrowania Shadow mapping wykonujemy przy użyciu kilku sampli z shadow mapyShadow mapping wykonujemy przy użyciu kilku sampli z shadow mapy Najpierw wyliczamy potem filtrujemyNajpierw wyliczamy potem filtrujemy Wsparcie sprzętowe tex2Dproj, fetch4 itp. Zależne od sprzętuWsparcie sprzętowe tex2Dproj, fetch4 itp. Zależne od sprzętu Filtrowanie poprawia wygląd, błędy aliasinguFiltrowanie poprawia wygląd, błędy aliasingu Shadow Mapping //Projected coords projCoords = oTex1.xy / oTex1.w; //Sample nearest 2x2 quad shadowMapVals.r = tex2D(ShadowSampler, projCoords ); shadowMapVals.g = tex2D(ShadowSampler, projCoords + texelOffsets[1].xy * g_vFullTexelOffset.xy ); shadowMapVals.b = tex2D(ShadowSampler, projCoords + texelOffsets[2].xy * g_vFullTexelOffset.xy ); shadowMapVals.a = tex2D(ShadowSampler, projCoords + texelOffsets[3].xy * g_vFullTexelOffset.xy ); //Evaluate shadowmap test on quad of shadow map texels inLight = ( dist < shadowMapVals); //Percent in light percentInLight = dot(inLight, float4(0.25, 0.25, 0.25, 0.25) );

51 Problem filtrowaniaProblem filtrowania Poszukiwanie innych funkcji zapisu odległości, umożliwiających przefiltrowanie przed operacją porównywaniaPoszukiwanie innych funkcji zapisu odległości, umożliwiających przefiltrowanie przed operacją porównywania Zastąpienie prostej funkcji zapisu głębi i porównania na funkcję separowalną i liniową ze względu na operacje filtrowaniaZastąpienie prostej funkcji zapisu głębi i porównania na funkcję separowalną i liniową ze względu na operacje filtrowania Niektóre sprawdzone rozwiązaniaNiektóre sprawdzone rozwiązania VSM – Variance Shadow Mapping – bazują na zapisie wariancji i koowariancji, które podlegają filtrowaniuVSM – Variance Shadow Mapping – bazują na zapisie wariancji i koowariancji, które podlegają filtrowaniu ESM – Exponential Shadow Maps – bazują na szeregach funkcji exponencialnych, podległych filtrowaniuESM – Exponential Shadow Maps – bazują na szeregach funkcji exponencialnych, podległych filtrowaniu Shadow Mapping

52 Podsumowanie For more information contact me Slides will be available at Drobot.org

53 Questions ?


Pobierz ppt "Shadowing Michał Drobot Technical Art Director Reality Pump."

Podobne prezentacje


Reklamy Google