Jak fizycznie jest rozróżnienie rozproszone i lustrzane?

34

Klasyczny sposób cieniowania powierzchni w grafice komputerowej w czasie rzeczywistym jest kombinacją (lambertowskiego) terminu rozproszonego i wyrażenia zwierciadlanego, najprawdopodobniej Phonga lub Blinna-Phonga.

Zdjęcie z Wikipedii

Teraz, gdy trend zmierza w kierunku fizycznego renderowania, a zatem modeli materialnych w silnikach takich jak Frostbite , Unreal Engine lub Unity 3D, te BRDF uległy zmianie. Na przykład (całkiem uniwersalny), najnowszy silnik Unreal nadal stosuje rozproszenie lambertowskie, ale w połączeniu z modelem mikrofacetowym Cook-Torrance do odbicia lustrzanego (szczególnie przy użyciu GGX / Trowbridge-Reitz i zmodyfikowanego przybliżenia Slicka dla terminu Fresnela ). Ponadto do rozróżnienia między przewodnikiem a dielektrykiem stosowana jest wartość „metalowości”.

W przypadku dielektryków rozproszenie jest zabarwione za pomocą albedo materiału, natomiast zwierciadło jest zawsze bezbarwne. W przypadku metali rozproszenie nie jest stosowane, a określenie zwierciadlane jest mnożone przez albedo materiału.

Jeśli chodzi o rzeczywiste materiały fizyczne, czy istnieje ścisły rozdział między rozproszonym a lustrzanym, a jeśli tak, to skąd on pochodzi? Dlaczego jeden jest kolorowy, a drugi nie? Dlaczego przewodniki zachowują się inaczej?

David Kuri
źródło

Odpowiedzi:

30

Na początek gorąco polecam przeczytanie prezentacji Siggraph Naty Hoffman obejmującej fizykę renderowania. To powiedziawszy, postaram się odpowiedzieć na twoje konkretne pytania, zapożyczając obrazy z jego prezentacji.

Patrząc na pojedynczą lekką cząsteczkę uderzającą w punkt na powierzchni materiału, może ona zrobić 2 rzeczy: odbić lub załamać światło. Odbite światło odbije się od powierzchni, podobnie jak lustro. Załamane światło odbija się w materiale i może opuścić materiał w pewnej odległości od miejsca, w którym wszedł. Wreszcie, za każdym razem, gdy światło wchodzi w interakcje z cząsteczkami materiału, traci trochę energii. Jeśli straci wystarczająco dużo energii, uważamy, że jest całkowicie pochłonięta.

Cytując Naty, „Światło składa się z fal elektromagnetycznych. Zatem właściwości optyczne substancji są ściśle związane z jej właściwościami elektrycznymi”. Dlatego grupujemy materiały jako metale lub niemetale.

Niemetale będą wykazywać zarówno odbicie, jak i załamanie. Niemetale

Materiały metalowe mają tylko odbicie. Całe załamane światło jest pochłaniane. Metale

Próbowanie modelowania interakcji cząsteczki światła z cząsteczkami materiału byłoby zbyt drogie. Zamiast tego dokonujemy pewnych założeń i uproszczeń.

Uproszczenie refrakcji

Jeśli rozmiar piksela lub obszar cieniowania jest duży w porównaniu z odległościami wejścia-wyjścia, możemy założyć, że odległości są faktycznie zerowe. Dla wygody podzieliliśmy interakcje światła na dwa różne terminy. Nazywamy odbicie powierzchniowe terminem „zwierciadlanym”, a pojęcie wynikające z załamania, absorpcji, rozpraszania i ponownego załamania nazywamy „rozproszonym”. Podział na rozproszone i lustrzane

Jest to jednak dość duże założenie. W przypadku większości nieprzezroczystych materiałów to założenie jest prawidłowe i nie różni się zbytnio od rzeczywistego. Jednak w przypadku materiałów o dowolnym rodzaju przejrzystości założenie się nie powiedzie. Na przykład mleko, skóra, mydło itp.

Zaobserwowany kolor materiału to światło, które nie jest absorbowane. Jest to połączenie zarówno światła odbitego, jak i każdego światła załamanego wychodzącego z materiału. Na przykład czysty zielony materiał pochłonie całe światło, które nie jest zielone, więc jedynym światłem, które dociera do naszych oczu, jest zielone światło.

Dlatego artysta modeluje kolor materiału, nadając nam funkcję tłumienia materiału, tj. Sposób, w jaki światło będzie pochłaniane przez materiał. W naszym uproszczonym modelu rozproszonym / zwierciadlanym można to przedstawić za pomocą dwóch kolorów, rozproszonego koloru i koloru zwierciadlanego. Jeszcze przed użyciem materiałów opartych na fizyce artysta arbitralnie wybrał każdy z tych kolorów. Wydaje się jednak oczywiste, że te dwa kolory powinny być powiązane. Tutaj pojawia się kolor albedo. Na przykład w UE4 obliczają kolor rozproszony i lustrzany w następujący sposób:

DiffuseColor = AlbedoColor - AlbedoColor * Metallic;
SpecColor = lerp(0.08 * Specular.xxx, AlbedoColor, Metallic)

gdzie Metallic wynosi 0 dla niemetali i 1 dla metali. Parametr „Specular” kontroluje specularity obiektu (ale zwykle jest to stała 0,5 dla 99% materiałów)

RichieSams
źródło
1
Dlaczego promień padający jest dzielony po odbiciu / załamaniu? Jeśli światło jest cząstką, czy to oznacza, że ​​cząstka ta rekurencyjnie rozdziela się? A jeśli światło jest falą, czy to oznacza, że ​​dzieli się według częstotliwości (ale w takim przypadku dlaczego rozdziela się po trafieniu sekundowym / trzecim / itd.)?
nikitablack
5
Cząstka się nie rozpada. Obrazy pokazują raczej potencjalne ścieżki, jakie może on obrać.
RichieSams,
2
Wiele cząstek uderzy w (prawie) to samo miejsce z (prawie) tego samego kąta. Na każdą wychodzącą cząsteczkę przypada (zwykle) cząstka, która weszła. Oznacza to, że uśredniona wiązka cząstek pod pewnym kątem w określonym miejscu zostaje podzielona na kilka (wielu) odbić.
grzechotka maniaczka
1
Świetna odpowiedź rzucająca światło na większość moich pytań. Dlaczego lustrzana część niemetali jest bezbarwna i nie wpływa na nią albedo? Jak i gdzie w grę wchodzi polaryzacja ?
David Kuri,
1
„Zaobserwowany kolor materiału to światło, które nie jest pochłaniane”. W tym momencie warto odnieść się do pytania: Czy są wspólne materiały, które nie są dobrze reprezentowane przez RGB? dyskusja, gdy przychodzą mi na myśl materiały fluorescencyjne.
Simon F
23

Zastanawiałem się nad tym dokładnie kilka dni temu. Nie znajdując żadnych zasobów w społeczności graficznej, podszedłem do wydziału fizyki na moim uniwersytecie i zapytałem .

Okazuje się, że ludzie w grafice wierzą w wiele kłamstw.


Po pierwsze, gdy światło uderza w powierzchnię, obowiązują równania Fresnela. Proporcje światła odbitego / załamanego zależą od nich. Prawdopodobnie to wiedziałeś.

Nie ma czegoś takiego jak „lustrzany kolor”

Być może nie wiedziałeś, że równania Fresnela różnią się w zależności od długości fali, ponieważ współczynnik załamania zmienia się w zależności od długości fali. Różnica jest stosunkowo niewielka w przypadku dielektryków (dyspersja, ktoś?), Ale może być ogromna w przypadku metali (przypuszczam, że ma to związek z różnymi strukturami elektrycznymi tych materiałów).

Dlatego też współczynnik odbicia Fresnela zmienia się w zależności od długości fali, a zatem różne długości fali są odbijane preferencyjnie . Widziane w świetle o szerokim spektrum, właśnie to prowadzi do odbłysków koloru. Ale w szczególności nie ma absorpcji, która magicznie zachodzi na powierzchni (pozostałe kolory są po prostu załamane).

Nie ma czegoś takiego jak „rozproszone odbicie”

Jak mówi Naty Hoffman w wykładzie połączonym z inną odpowiedzią, jest to tak naprawdę przybliżenie do rozproszonego rozpraszania podpowierzchniowego.

Metale przekazują światło

Naty Hoffman się myli (a dokładniej upraszczając). Światło nie jest natychmiast absorbowane przez metale. W rzeczywistości dość łatwo przejdzie przez materiały o grubości kilku nanometrów. (Na przykład dla złota potrzeba 11,6633 nm, aby osłabić światło 587,6 nm (żółte) o połowę.)

Absorpcja, podobnie jak w dielektrykach, wynika z prawa Beer-Lamberta. W przypadku metali współczynnik absorpcji jest po prostu znacznie większy (α = 4πκ / λ, gdzie κ jest urojonym składnikiem współczynnika załamania światła (dla metali ~ 0,5 i więcej), a λ podano w metrach ).

Ta transmisja (a dokładniej wytwarzany przez nią SSS ) jest w rzeczywistości odpowiedzialna za znaczną część kolorów metali (chociaż prawdą jest, że w wyglądzie metali dominuje ich odbicie).

imallett
źródło
3
Dziękuję Ci! Znałem tylko uproszczenia. Te dodatkowe szczegóły są niesamowite
RichieSams,
1
To fascynująca odpowiedź. Czy możesz wyjaśnić / połączyć skrót SSS?
trichoplax
@trichoplax Thanks! SSS == rozpraszanie podpowierzchniowe.
imallett
Dzięki :) Jeśli wyjaśnisz to w pytaniu, przetrwa usunięcie komentarzy (które nie są gwarantowane na długie życie). Zredagowałem link i tekst w dymku, który, mam nadzieję, pozostawia zamierzoną prezentację nietkniętą.
trichoplax
2
Doceniam pedanterię tej odpowiedzi. Rozpraszanie podpowierzchniowe jest uważane za efekt skali mm, podczas gdy prawdą jest, że w zakresach molekularnych wszystko w pewnym stopniu przechodzi przez powierzchnię. Podstawowym ograniczeniem jest to, że generalnie liczymy efekty w skali mm i próbujemy wyodrębnić niższe poziomy jako modele statystyczne. Stąd mikrometr jest równy natychmiast, ponieważ większość pikseli widzi znacznie większy obszar niż ten. To samo dotyczy koloru, który nie istnieje w fizyce w sposób znaczący w taki sam sposób, w jaki postrzegają go nasze oczy i mózg
joojaa