Radiosity VS Ray tracing


12

Radia jest po prostu tym, co na to pozwala: Bezpośrednie oświetlenie a radość

W samouczku Cornell University o Radiosity wspomniano, że:

Wersja obrazu ze śledzeniem promieni pokazuje tylko światło docierające do widza przez bezpośrednie odbicie - w ten sposób brakuje efektów kolorystycznych.

Jednak w Wikipedii :

Radiosity to globalny algorytm oświetlenia w tym sensie, że oświetlenie docierające na powierzchnię pochodzi nie tylko bezpośrednio ze źródeł światła, ale także z innych powierzchni odbijających światło.

...

Metoda radiosity w obecnym kontekście grafiki komputerowej wywodzi się (i zasadniczo jest taka sama jak) metoda radiosity w przenoszeniu ciepła.

A jeśli śledzenie promieni może:

symulowanie szerokiej gamy efektów optycznych, takich jak odbicie (odbicie rozproszone ) i rozpraszanie (tj. odchylenie promienia od prostej ścieżki, na przykład przez nieregularności w ośrodku propagacji, cząstkach lub na granicy między dwoma ośrodkami)

Czy w tym samouczku nie uwzględniono tych efektów lub czy istnieją metody radiosityzacji, które można zastosować w śledzeniu promieni w celu ich włączenia?

Jeśli nie, to czy te efekty optyczne nie mogą w pełni symulować radości, czy też algorytm radiositywności jest bardziej skuteczny w rozwiązywaniu problemu odbicia rozproszonego?

Odpowiedzi:


13

Radość nie uwzględnia odbić lustrzanych (tzn. Obsługuje tylko odbicia rozproszone). Śledzenie promieni Whitta uwzględnia jedynie odbicie błyszczące lub rozproszone, prawdopodobnie odbite lustrzane. I wreszcie, śledzenie ścieżki Kajiya jest najbardziej ogólne [2], obsługując dowolną liczbę rozproszonych, błyszczących i odbłysków odbić.

Myślę więc, że zależy to od tego, co masz na myśli przez „śledzenie promieni”: technika opracowana przez Whitta lub wszelkiego rodzaju „promieniowanie śledzące” ...

Uwaga dodatkowa: Heckbert [1] (czy Shirley?) Opracował klasyfikację zjawisk rozpraszania światła, które miały miejsce, gdy światło wędrowało z oprawy do oka. Zasadniczo ma on następującą postać:

L(S|D)*E

„L” oznacza oprawę, „D” oznacza odbicie rozproszone, „S” oznacza odbicie lustrzane lub załamanie światła, „E” dla oka, a symbole „*”, „|”, „()”, „[]” pochodzą z zapisu wyrażeń regularnych i oznaczają odpowiednio „zero lub więcej”, „lub”, „grupowanie”, „jeden z”. Veach [3] rozszerzył notację w swojej słynnej rozprawie o „D” dla Lambertian, „S” dla refleksów i „G” dla refleksyjnego połysku oraz „T” dla transmisji.

W szczególności następujące techniki są klasyfikowane jako:

  • Cieniowanie OpenGL: EDL

  • Odlewanie promieniowe Appela: E(D|G)L

  • Trymowanie promieni Whitta: E[S*](D|G)L

  • Ścieżka Kajiya: E[(D|G|S)+(D|G)]L

  • Radość Golara: ED*L

[1] Paul S. Heckbert. Adaptacyjne tekstury radiosity do dwukierunkowego śledzenia promieni. SIGGRAPH Computer Graphics, tom 24, nr 4, sierpień 1990

[2] Kurs Siggraph z 2001 r. „Najnowocześniejszy w Monte Carlo Ray Tracing do realistycznej syntezy obrazu” mówi, co następuje: „Rozproszone śledzenie promieni i śledzenie ścieżek obejmuje wiele odrzuceń obejmujących rozpraszanie niespekulacyjne, takie jak E(D|G)*L. Jednak nawet te metody ignorują ścieżki formy E(D|G)S*L, to znaczy wielokrotne odbicia lustrzane od źródła światła jak u żrącego ”.

[3] Eric Veach. Solidne metody Monte Carlo do symulacji transportu lekkiego. Doktorat rozprawa, Uniwersytet Stanforda, grudzień 1997 r


Zapis śledzenia ścieżki sugeruje, że nie może on obsługiwać ścieżek takich jak, ES*Lale oczywiście może, jeśli są to światła obszarowe (nie światła punktowe). Plus, myślę, że to stwierdzenie w twojej referencji [2] jest po prostu błędne. Śledzenie ścieżki nie ignoruje zasad; jest po prostu mało wydajny (mapowanie fotonów, Metropolis, VCM itp. są lepsze).
Nathan Reed,

Dzięki Ecir za wyjaśnienie (szczególnie regex ... Zastanawiam się, czy kiedykolwiek rozważali E {2} dla obu oczu;). Kiedy wspomniałem o „ray tracingu”, w pewnym sensie zacytowałem tutorial z Cornell University, nie wspomnieli o żadnej konkretnej technice, dlatego wątpiłem, czy radość jest rodzajem, czy częściowo należy do raytracingu. Więc jeśli stworzyłbyś rozproszone odbicie, czy wybrałbyś śledzenie ścieżki zamiast radości? Dlaczego (który z nich byłby bardziej wydajny)?
Armfoot

1
@NathanReed Zapytałem o to na ompf2, a genialny mówi: „Jedynym rodzajem ścieżek światła, których znacznik ścieżki do przodu nie może próbkować, jest E (D | G) * S + L, gdzie L jest źródłem światła, którego definicja obejmuje rozkład delta , zarówno w emisji kierunkowej, jak i pozycyjnej. Przykładami są światła punktowe i kierunkowe. Ścieżki takie można opisać za pomocą rozszerzonej notacji Veacha dla opraw i czujników, patrz rozdział 8.3.2 jego pracy. ”
Ecir Hana,

@Armfoot Zdecydowanie wybrałbym śledzenie ścieżki. Wiele badań, książek, kodu do nauki. Nie wiem jednak, która byłaby szybsza, zbyt wiele zmiennych (struktura przyspieszenia, system cieniowania, ...). Radiosity najwyraźniej symuluje rozprzestrzenianie się ciepła po podzieleniu sceny na wiele małych trójkątów ( MES ), nigdy tego nie próbowałem, a jedynym produktem, który z niej korzystałem, był Autodesk Lightscape. Na koniec, czy naprawdę jesteś pewien, że kiedykolwiek będziesz potrzebować tylko rozproszonych odbić?
Ecir Hana,

1
@Armfoot Notacja nie używa E {2} z tego samego powodu, dla którego nie używa L {n} dla wielu świateł. To opisuje pojedynczą ścieżkę lub pojedynczą próbkę. Sposób, w jaki normalnie formalizujemy renderowanie Monte Carlo, polega na przyjęciu równania renderowania Kajiya, a następnie przekształceniu go w zmienną losową, której oczekiwaną wartością jest rozwiązanie równania. Następnie można obliczyć wartość piksela, pobierając dużo próbek i szacując średnią. Ścieżki światła mniej więcej odpowiadają diagramom Feynmana.
pseudonim
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.