Co to jest „przybliżenie dipola” dla rozpraszania podpowierzchniowego?

18

Jeśli czytasz artykuły o rozproszeniu podpowierzchniowym, często można znaleźć odniesienia do czegoś, co nazywa się „aproksymacją dipola”. Termin ten wydaje się wracać do pracy Praktyczny model dla lekkiego transportu podpowierzchniowego autorstwa Henrika Wanna Jensena i in., Ale praca ta jest dość trudna do zrozumienia.

Czy ktoś może wyjaśnić w stosunkowo prosty sposób, czym jest aproksymacja dipola i jak jest ona używana do renderowania rozpraszania podpowierzchniowego?

Nathan Reed
źródło
1
To rzeczywiście skomplikowany artykuł (od czasu do czasu wciąż budzą mnie koszmary!), Ale starałem się trochę uprościć. Daj mi znać, jeśli uważasz, że odpowiedź poniżej powinna zostać zmieniona w taki czy inny sposób :)
cifz

Odpowiedzi:

23

Założenie takiego modelu jest takie samo jak wiele innych modeli do renderowania skóry; rozpraszanie podpowierzchniowe może być aproksymowane jako zjawisko dyfuzji. Jest to dobre, ponieważ w ośrodkach o dużej rozpraszalności rozkład światła traci zależność od kąta i dąży do izotropii.

Przybliżenie dipola jest formułą do rozwiązania takiego problemu dyfuzyjnego w sposób analityczny.

Zasadniczo zaczynają od przybliżenia BSSRDF jako składnika rozpraszania wielokrotnego i pojedynczego rozpraszania. Rozpraszanie wielokrotne jest następnie definiowane jako:

wprowadź opis zdjęcia tutaj

Gdzie są terminami Fresnela i R jest profil dyfuzji wyrażone jako funkcji odległości między punktu wejścia i wyjścia. fatR

Ten jest określany jako profil dyfuzyjny i formułują ten profil w przybliżeniu dipolowym. Wkład przychodzącego promienia świetlnego jest uważany za jedno z dwóch wirtualnych źródeł: jedno ujemne pod powierzchnią i jedno dodatnie nad nim (dlatego dipol)R

wprowadź opis zdjęcia tutaj

xja-xo

Ten model bierze pod uwagę tylko wiele zdarzeń rozproszenia, ale jest to wystarczające dla skóry. Należy jednak zauważyć, że w przypadku niektórych półprzezroczystych materiałów (np. Dymu i marmuru) pojedyncze rozproszenie ma podstawowe znaczenie. Ten papier proponuje pojedynczy preparat rozpraszający, ale jest drogi.

Profil dyfuzji jest zwykle aproksymowany do zastosowania w czasie rzeczywistym jako seria rozmycia gaussowskiego (jak w przełomowych pracach D'Eon i in. W GPU Gems 3, a następnie wykorzystywanych w SSSSS Jimeneza), aby był praktyczny w scenariuszach w czasie rzeczywistym . W tym cudownym artykule są szczegóły na temat takiego zbliżenia. Zdjęcie z tego artykułu pokazuje, jak dobry jest ten preparat:

wprowadź opis zdjęcia tutaj

Na marginesie, przybliżenie dipola zakłada, że ​​materiał jest częściowo nieskończony, jednak założenie to nie dotyczy cienkich płyt i wielowarstwowego materiału, takiego jak skóra. Opierając się na pracy nad dipolem, Donner i Jensen [2005] zaproponowali przybliżenie wielobiegunowe, które wyjaśnia problemy z dipolem. W przypadku tego modelu zamiast pojedynczego dipola autorzy wykorzystują ich zestaw do opisania zjawiska rozpraszania. W takim preparacie profile współczynnika odbicia i transmitancji można uzyskać poprzez zsumowanie udziału różnych zaangażowanych dipoli


EDYCJA: Poniżej zamieszczam odpowiedzi na kilka pytań @NathanReed w sekcji komentarzy:

Nawet przy aproksymacji profilu dyfuzji model BSSRDF nadal wymaga zintegrowania w promieniu pobliskich punktów na powierzchni, aby zebrać przychodzące światło, prawda? Jak można to osiągnąć, powiedzmy, w znaczniku ścieżki? Czy musisz zbudować jakąś strukturę danych, aby móc próbkować punkty na powierzchni w pobliżu danego punktu?

Przybliżenie BSSRDF nadal musi być zintegrowane na pewnym obszarze, tak.

W połączonym dokumencie wykorzystali losowy próbnik promieniowania Montecarlo do losowego próbkowania wokół punktu o gęstości zdefiniowanej jako:

σtrmi-σtrre

Tam, gdzie ta wartość sigma jest efektywnym współczynnikiem ekstynkcji zdefiniowanym poniżej (zależy od współczynnika rozproszenia i pochłaniania, które są właściwościami materiału), a d jest odległością do ocenianego punktu. Gęstość tę definiuje się w ten sposób, ponieważ składnik dyfuzji ma wykładniczy spadek.

W [Jensen i Buhler 2002] zaproponowali technikę przyspieszenia. Jednym z głównych pojęć było oddzielenie próbkowania od oceny terminu dyfuzji. W ten sposób dokonują hierarchicznej oceny informacji obliczonych podczas fazy próbkowania, aby zgromadzić odległe próbki, jeśli chodzi o ocenę dyfuzji. Implementacja opisana w artykule wykorzystuje oktawę jako strukturę. Według tej techniki technika ta jest o rząd wielkości szybsza niż pełna integracja Monte Carlo.
Niestety, nigdy nie wdałem się w implementację offline, więc nie mogę nic więcej na to poradzić.

W przybliżeniach sumy Gaussa w czasie rzeczywistym poprawny promień jest domyślnie ustawiany podczas definiowania wariancji rozmycia gaussowskiego, które należy zastosować.

Dlaczego jedno pozytywne i jedno negatywne światło? Czy ich celem jest wzajemne anulowanie się?

2)ZAre

wprowadź opis zdjęcia tutaj

farer


EDIT2: Rozszerzyłem (trochę) niektóre koncepcje zawarte w tej odpowiedzi w poście na blogu: http://bit.ly/1Q82rqT


Dla tych, którzy nie boją się wielu greckich liter we wzorze, oto fragment mojej tezy, w której profil odbicia jest krótko opisany w każdym z terminów:

wprowadź opis zdjęcia tutaj

CIFZ
źródło
Dzięki! Nadal zastanawiam się nad kilkoma rzeczami. (1) Nawet przy aproksymacji profilu dyfuzji model BSSRDF nadal wymaga zintegrowania w promieniu pobliskich punktów na powierzchni, aby zebrać przychodzące światło, prawda? Jak można to osiągnąć, powiedzmy, w znaczniku ścieżki? Czy musisz zbudować jakąś strukturę danych, aby móc próbkować punkty na powierzchni w pobliżu danego punktu? I (2) Dlaczego jedno pozytywne i jedno negatywne światło? Czy ich celem jest wzajemne anulowanie się?
Nathan Reed,
1) Rzeczywiście, to, co proponują w artykule za pomocą wskaźnika Monte Carlo, to stochastyczne próbkowanie o określonej gęstości na podstawie odległości i współczynnika ekstynkcji. Wydaje mi się, że można rzucić strzałką, aby znaleźć próbki i użyć odpowiedniego prawdopodobieństwa akceptacji opartego na współczynniku ekstynkcji. i odległość. (1/2)
cifz
Wiem, że Jensen opublikował hierarchiczne podejście do integracji w 2002 roku, które niestety przeczytałem raz i jakiś czas temu, więc pamiętam tylko kilka bitów. Podstawową koncepcją było oddzielenie pobierania próbek od aproksymacji dyfuzji i próbek odległych od skupień. IIRC wykorzystali oktree jako strukturę hierarchiczną. Nigdy nie wdałem się w implementację offline, więc obawiam się, że nie pomagam w innych szczegółach. (2/2)
cifz
2) W ten sposób spełnia się niektóre warunki brzegowe, chcesz pozwolić, aby fluencja osiągnęła zero na pewnej ekstrapolowanej granicy, która ma określoną odległość od ośrodka. Odległość ta jest obliczana na podstawie współczynnika rozproszenia i rozproszenia albedo.
cifz
@NathanReed Daj mi znać, jeśli to coś wyjaśniło, w przeciwnym razie mogę spróbować rozwinąć myśli w tym komentarzu w samej odpowiedzi
cifz
3

Aby łatwo zrozumieć „teorię dipolową”, musimy najpierw zrozumieć, skąd pochodzi „teoria dyfuzji”.

I pochodzi z symulacji transportu światła w uczestniczących mediach poprzez rozwiązanie równania transportu promieniowania (RTE).

Klasyczne przybliżenie dyfuzji rozwiązuje RTE, biorąc pod uwagę tylko sferyczne rozszerzenie harmoniczne rzędu pierwszego. Jeśli ponadto założymy, że funkcja źródła jest źródłem punktu izotropowego o mocy jednostkowej w nieskończonym jednorodnym ośrodku, dochodzimy do klasycznej dyfuzji funkcji Greena (monopole).

Podczas renderowania półprzezroczystych materiałów wygodnie jest przeformułować ten problem analogicznie do całki lokalnego odbicia powierzchniowego. Wynikiem tego jest całkowe równanie, które oblicza wychodzące promieniowanie Lo w pozycji i kierunku jako splot oświetlenia incydentalnego, Li i BSSRDF, S, dla wszystkich pozycji i kierunków incydentu.

Teraz dzięki funkcji dyfuzji Greena nie uwzględniamy warunków brzegowych narzuconych przez powierzchnie materiału. Warunki te można po prostu rozwiązać, umieszczając lustrzane źródło ujemne na zewnątrz medium dla każdego pozytywnego źródła wewnątrz medium, tak że fluencja jest zerowana w ekstrapolowanej odległości nad powierzchnią. Jest to przybliżenie dipola.

Bez warunków brzegowych nasza fluencja jest wyrażana objętościowo w ośrodku. Aby renderować rozpraszanie pod powierzchnią, musimy obliczyć światło pozostawiając różne punkty na powierzchni. Aby tak się stało, musimy obliczyć profile dyfuzji dla dipola, aby ocenić kierunkową pochodną fluencji w kierunku normalnej powierzchni.

Najnowsze postępy w BSSRDF wynikają z przesunięcia początkowego wolumetrycznego i opartego na zaangażowaniu podejścia medialnego dzięki rozwiązaniom ad hoc, które lepiej uwzględniają warunki brzegowe powierzchni.

Co do ..

Model BSSRDF nadal wymaga integracji w promieniu pobliskich punktów na powierzchni, aby zebrać przychodzące światło ...?

Tak, integrujemy światło padające razem z BSSRDF we wszystkich pozycjach i kierunkach padania.

Teraz możemy zastosować metodę brutalnej siły lub podejście do rzucania lotkami z rosyjską roletą. Ale oba są podejściami naiwnymi.

Firma SSS pojawiła się w produkcji (Pixar Renderman), gdy opracowano metodę aproksymacji w celu zastosowania hierarchicznego gromadzenia światła przy użyciu struktury danych o liczbie oktetów, gdzie piec rozproszone oświetlenie, które ma być dostępne w klastrach do obliczeń SSS. W przypadku Renderman było to naturalne podejście ze względu na REYES, dzięki czemu każdy mikropoligon generowany z REYES można łatwo „rozpryskiwać” w punkt i wstawiać do oktetu.

Druga fala ulepszeń polega na próbkowaniu ważności na podstawie dysku (Arnold), które jest obecnie de facto podejściem do wielu implementacji SSS. Zasadniczo definiujemy objętość wyszukiwania (sferę), rozprowadzamy próbki na dysku nad powierzchnią i sondujemy wzdłuż normalnych kierunków i ortogonalnych kierunków, aby znaleźć wszystkie uderzenia wewnątrz objętości.

Max Tarpini
źródło