Jakie jest obecnie najbardziej znane, a najlepiej również weryfikowane produkcyjnie podejście do próbkowania map środowiska (EM) w opartym na MIS jednokierunkowym narzędziu do śledzenia ścieżek i podobnych typach rendererów? Wolałbym rozwiązania, które są dość skomplikowane i funkcjonalne, niż te, które zapewniają doskonałe próbkowanie kosztem bardzo skomplikowanej i trudnej do zrozumienia implementacji.
Co wiem do tej pory
Istnieje kilka prostych sposobów próbkowania EM. Potrzebną półkulę można próbkować w sposób cosinusoidalny, co ignoruje kształty funkcji BSDF i EM. W rezultacie nie działa w przypadku dynamicznych EM:
Aby poprawić próbkowanie do poziomu użytecznego, można próbkować luminancję EM na całej kuli. Jest stosunkowo łatwy do wdrożenia, a wyniki są dość dobre. Jednak strategia próbkowania nadal ignoruje informacje o widoczności półkuli i współczynnik cosinus (a także BSDF), co powoduje wysoki hałas na powierzchniach, które nie są bezpośrednio oświetlone przez obszary o wysokiej intensywności EM:
Dokumenty tożsamości
Znalazłem kilka artykułów na ten temat, ale jeszcze ich nie przeczytałem. Czy któryś z nich jest wart przeczytania i wdrożenia w jednokierunkowym znaczniku ścieżki do przodu, czy jest coś jeszcze lepszego?
Próbki strukturalne o znaczeniu prób środowiskowych (2003) Agarwal i in.
Próbkowanie o istotnym znaczeniu (2007) autorstwa Kartic Subr i Jim Arvo. Twierdzą, że przedstawiają „... algorytm do efektywnego próbkowania warstwowego ze znaczeniem map środowiska, który generuje próbki w dodatniej półkuli określonej przez lokalną orientację dowolnych powierzchni, z uwzględnieniem wagi cosinusu. „Artykuł w artykule„ Ważność próbkowania harmonicznych sferycznych ”komentuje:„ Tworzą one triangulowaną reprezentację mapy środowiska i przechowują iluminację uprzednio pomnożoną przez każdą z pierwszych dziewięciu sferycznych funkcji podstawy harmonicznej na każdym wierzchołku. Tworzy to sterowalną podstawę, w której zaciśnięty cosinus można skutecznie obracać w dowolnym kierunku. ”
Praktyczne pobieranie próbek o znaczeniu bezpośrednim dla oświetlenia (2008) autorstwa Petrika Clarberga i Tomasa Akenine-Möllera. Algorytm próbkowania iloczynu oświetlenia mapy środowiska i współczynnika odbicia powierzchni. Wykorzystuje próbkowanie ważności oparte na falkach.
Ważność próbkowania sferycznych harmonicznych (2009) autorstwa Jarosza, Carra i Jensenna. Streszczenie mówi: „... przedstawiamy pierwszą praktyczną metodę ważnego próbkowania funkcji reprezentowanych jako harmoniczne sferyczne (SH) ...”
Mapowanie środowiska w oparciu o zmianę tonalną Próbkowanie mapy środowiska (2015) Feng i in. To jest całkiem nowe i nie znalazłem ani odniesienia do niego, ani do samego papieru.
źródło
Odpowiedzi:
To nie jest pełna odpowiedź, chciałbym po prostu podzielić się wiedzą zdobytą podczas studiowania dwóch artykułów wymienionych w pytaniu: Próbkowanie o istotnym znaczeniu i Praktyczne ważność produktu w przypadku bezpośredniego oświetlenia .
Próbkowanie o istotnym znaczeniu
W tym artykule proponują metodę próbkowania produktu zaciśniętego komponentu cosinus i oświetlenia mapy środowiska:
Wykorzystują one fakt, że częściowe liniowe przybliżenie funkcji iloczynu można stosunkowo dobrze wyrazić i częściowo wstępnie obliczyć przy użyciu pierwszych dziewięciu sferycznych zasad harmonicznych. Budują to przybliżenie na podstawie adaptacyjnie triangulowanego pola elektromagnetycznego i używają go jako funkcji istotności przy próbkowaniu.
Obliczają one wstępnie i przechowują współczynniki aproksymacji dla każdego wierzchołka trójkąta, a także współczynniki do obliczania całki aproksymacji dla trójkąta dla każdego trójkąta. Współczynniki te nazywane są wagami wierzchołków i trójkątów. Następnie wykorzystują fakt, że można łatwo obliczyć współczynniki całki dla zbioru trójkątów, po prostu sumując poszczególne ciężary trójkątów bez uwzględnienia dodatkowych sferycznych zasad harmonicznych. To pozwala im budować zrównoważone drzewo binarne na trójkątach, w których każdy węzeł zawiera współczynniki do obliczania całki aproksymacyjnej na trójkątach sub-drzew węzła.
Procedura próbkowania polega na wybraniu trójkąta i próbkowaniu jego obszaru:
Dla mnie wygląda to na obiecującą technikę , ale klasyczne pytanie z papierami brzmi, jak będzie się zachowywać w prawdziwym życiu. Z jednej strony mogą wystąpić przypadki patologiczne, gdy EM jest trudny do aproksymacji za pomocą trójkątnej częściowej funkcji liniowej, co może prowadzić do ogromnej liczby trójkątów i / lub złej jakości próbki. Z drugiej strony może natychmiast zapewnić względnie dobre przybliżenie całego udziału EM, co może być przydatne podczas próbkowania wielu źródeł światła.
Praktyczne znaczenie próbek produktu do bezpośredniego oświetlenia
W tym artykule proponują metodę próbkowania iloczynu oświetlenia mapy środowiska i współczynnika odbicia powierzchni ważonego cosinusiem:
Jedynym przetwarzaniem wstępnym w tej metodzie jest obliczenie hierarchicznej reprezentacji EM (na podstawie mipmapy lub falkowej). Reszta odbywa się w locie podczas pobierania próbek.
Procedura pobierania próbek:
Procedura powinna wygenerować stosunkowo dobre próbki kosztem ciężkich obliczeń wstępnych - pokazują one, że do przybliżenia BRDF potrzeba około 100–200 próbek BRDF, aby uzyskać najlepszą wydajność próbkowania. Może to sprawić, że będzie on odpowiedni do obliczeń o czysto bezpośrednim oświetleniu, w których generuje się wiele próbek na punkt cieniowania, ale najprawdopodobniej jest zbyt drogi dla algorytmów globalnego oświetlenia (np. Jedno- lub dwukierunkowe znaczniki ścieżki), w których zwykle generuje się tylko kilka próbek na punkt cieniowania.
źródło
Oświadczenie: Nie mam pojęcia, jaki jest stan techniki w próbkowaniu map środowiska. W rzeczywistości mam bardzo małą wiedzę na ten temat. Nie będzie to pełna odpowiedź, ale sformułuję problem matematycznie i przeanalizuję go. Robię to głównie dla siebie, więc wyjaśniam to sobie, ale mam nadzieję, że OP i inni uznają to za przydatne.
Chcemy obliczyć bezpośrednie oświetlenie w punkcie, tzn. Chcemy poznać wartość całki gdzie jest funkcją BSDF (wyraźnie stwierdzam zależność od normalności, która przyda się później), to blask mapy środowiska i to termin cosinus wraz z widocznością (do czego służy ) tj. jeśli
Szacujemy tę całkę, generując próbek w odniesieniu do funkcji gęstości prawdopodobieństwa , estymatorem jestN ω1i,…,ωNi p(ωi)
Pytanie brzmi: w jaki sposób wybieramy pdf , abyśmy mogli wygenerować próbki w akceptowalnym czasie, a wariancja powyższego estymatora jest stosunkowo niewielka.p
Najlepszametoda Wybierzproporcjonalne do całki Ale w większości przypadków tak jest wygenerowanie próbki zgodnie z tym plikiem pdf jest bardzo drogie, więc nie jest to przydatne w praktyce.Metody sugerowane przez OP:
Metoda pierwsza : wybierz proporcjonalne do cosinusowego terminu Metoda druga : wybierz proporcjonalne do EMp
Na podstawie nazw wspomnianych artykułów mogę częściowo zgadywać, co robią (niestety nie mam czasu i energii, aby je teraz przeczytać). Ale zanim omówimy, co najprawdopodobniej robią, porozmawiajmy trochę o serii mocy: D
Jeśli mamy funkcję jednej zmiennej rzeczywistej, np. . Następnie, jeśli jest dobrze zachowany, można go rozwinąć do szeregu mocy Gdzie są stałymi. Można to wykorzystać do przybliżenia poprzez obcięcie sumy w pewnym kroku Jeśli jest wystarczająco wysokie, błąd jest naprawdę mały.f(x)
Teraz, jeśli mamy funkcję w dwóch zmiennych, np. możemy ją rozwinąć tylko w pierwszym argumencie gdzie są funkcjami tylko w . Może być również rozwinięty w obu argumentach gdzie są stałymi. Funkcję z prawdziwymi argumentami można rozszerzyć jako sumę mocy tego argumentu. Coś podobnego można zrobić dla funkcji zdefiniowanych na sferze.f(x,y)
Teraz zdefiniujmy funkcję na sferze, np. . Taką funkcję można również rozszerzyć w podobny sposób, jak funkcję jednego rzeczywistego parametru gdzie są stałymi i są sferycznymi harmonicznymi . Harmoniczne sferyczne są zwykle indeksowane dwoma wskaźnikami i zapisywane jako funkcja we współrzędnych sferycznych, ale nie jest to tutaj ważne. Ważne jest to, że można zapisać jako sumę niektórych znanych funkcji.f(ω)
Teraz funkcję, która zajmuje dwa punkty na kuli, np. można rozszerzyć tylko w pierwszych argumentach lub w obu argumentachf(ω,ω′)
Jak to się przydaje?
Proponuję CMUNSM (Szalona mentalna bezużyteczna metoda bez próbkowania): Załóżmy, że mamy rozszerzenia dla wszystkich funkcji, tj. Jeśli podłączymy to do całka otrzymujemy
W rzeczywistości nie potrzebujemy już Monte Carlo, ponieważ możemy wcześniej obliczyć wartości całek a następnie oszacować sumę (w przybliżeniu suma, zsumowalibyśmy tylko kilka pierwszych warunków) i otrzymujemy pożądany wynik.∫S2Sk(ωi)Sn(ω)Sp(ωi)dωi
To wszystko jest miłe, ale możemy nie wiedzieć o rozszerzeniach BSDF lub mapie środowiskowej lub rozszerzenia zbiegają się bardzo powoli, dlatego musielibyśmy wziąć wiele terminów, aby uzyskać dość dokładną odpowiedź.
Dlatego nie chodzi o to, by rozszerzyć wszystkie argumenty. Jedną z metod, która mogłaby być warta zbadania, byłoby zignorowanie BSDF i rozwinięcie tylko mapy środowiska, tj. co doprowadziłoby do pdf:
Wiemy już, jak to zrobić dla , to tylko metoda . Domyślam się, że odbywa się to w jednym z opracowań dla wyższego .K=0 K
Dalsze rozszerzenia. Możesz rozwinąć różne funkcje w różnych argumentach i robić podobne rzeczy jak powyżej. Inną rzeczą jest to, że można rozszerzać na różnych podstawach, tj. Nie należy używać harmonicznych sferycznych, ale różne funkcje.
To jest moje zdanie na ten temat, mam nadzieję, że przynajmniej trochę się wam przydało, a teraz idę do GoT i do łóżka.
źródło
Podczas gdy metody próbkowania produktów zapewniają lepszy (idealny) rozkład promieni, powiedziałbym, że stosowanie MIS (próbkowanie wielokrotne) jest metodą sprawdzoną w produkcji. Ponieważ informacje o zacienianiu są nieznane, próbkowanie produktów i tak nie jest idealne i bardzo trudno je wdrożyć. Strzelanie więcej promieni może być więcej warte! Oczywiście zależy od twojej sytuacji i budżetów!
Krótki opis MIS: Zasadniczo prześledzisz zarówno promień BSDF (jak zresztą robisz w przypadku oświetlenia pośredniego), jak i promień wyraźny w kierunku EM. MIS daje ci wagi, dzięki czemu możesz je łączyć w sposób, który usuwa dużo hałasu. MIS jest szczególnie dobry w wyborze „techniki” (niejawnego lub jawnego próbkowania) w zależności od zaistniałej sytuacji. Dzieje się tak naturalnie, bez konieczności dokonywania przez użytkownika trudnych wyborów w oparciu o szorstkość itp.
Rozdział 9 http://graphics.stanford.edu/papers/veach_thesis/ opisuje to szczegółowo. Zobacz także https://www.shadertoy.com/view/4sSXWt, aby zobaczyć demo MIS w akcji ze światłami obszarowymi.
źródło