Global Illumination

Czym jest Global Illumination i dlaczego jest nam potrzebne?

Projektanci często dążą do tworzenia realistycznych wizualizacji, które wyglądają tak autentycznie, że można je pomylić ze zdjęciami. Z jednej strony, realizm zależy od szczegółowego modelowania, które oddaje każdy detal obiektów.
Z drugiej strony, kluczową rolę odgrywa zaawansowane oprogramowanie do renderowania, które potrafi precyzyjnie symulować światło oraz materiały w taki sposób, w jaki występują one w rzeczywistości. Dzięki temu wizualizacje osiągają nowy poziom realizmu

Fotorealistyczne renderowanie w D5 Render

Technika stosowana w grafice komputerowej do odtwarzania rzeczywistych interakcji światła nosi nazwę Global Illumination (GI).
GI uwzględnia nie tylko bezpośrednie oświetlenie obiektów pochodzące ze źródła światła, ale również oświetlenie pośrednie, które dociera do powierzchni obiektu po wielokrotnych odbiciach.

W świecie rzeczywistym światło odbija się od powierzchni i kontynuuje swoje wędrówki, aż jego energia zostanie całkowicie rozproszona. Aby osiągnąć bardziej realistyczne renderingi, kluczowe jest symulowanie tego zjawiska fizycznego. Choć algorytmy obsługujące oświetlenie bezpośrednie są już dobrze rozwinięte, implementacja oświetlenia pośredniego — szczególnie rozproszonego oświetlenia pośredniego — nadal stanowi wyzwanie.

Podsumowując, Global Illumination (GI) ma na celu rozwiązanie problemu wielokrotnych odbić światła w scenie, co pozwala na lepsze doświetlenie oraz odwzorowanie detali w obszarach, które nie są bezpośrednio oświetlone. GI odgrywa kluczową rolę w tworzeniu fotorealistycznych wizualizacji, które mogą skutecznie oszukać ludzkie oko, sprawiając wrażenie, że patrzymy na rzeczywiste zdjęcia.


Dlaczego GI w czasie rzeczywistym?

Skoro Global Illumination (GI) jest tak istotne, jego implementacja stała się jednym z kluczowych zagadnień technicznych w branży renderingu. W ciągu ostatnich dekad zaproponowano wiele rozwiązań, w tym dobrze znane śledzenie promieni (ray tracing), aby jak najwierniej odwzorować oświetlenie. Jednak GI w renderowaniu w czasie rzeczywistym stanowi jeszcze większe wyzwanie ze względu na ograniczony czas przetwarzania.

Rendering offline

Algorytmy używane w renderingu offline mogą poświęcić dużo czasu na dokładne obliczenie oświetlenia pośredniego w scenie, co pozwala uzyskać wysokiej jakości rezultaty. Przykładowo, pojedyncza klatka filmu animowanego może wymagać setek godzin obliczeń offline.

Rendering w czasie rzeczywistym

W przypadku renderowania w czasie rzeczywistym konieczne jest uzyskanie co najmniej 30 klatek na sekundę, czyli renderowanie jednej klatki w ciągu zaledwie 0,03 sekundy. W rezultacie osiągnięcie GI w czasie rzeczywistym stało się jednym z najbardziej zaawansowanych tematów w branży oraz miernikiem zdolności technologicznych. D5 Render, narzędzie do renderowania w czasie rzeczywistym, również musi stawić czoła temu wyzwaniu.

Rola D5 Render w GI w czasie rzeczywistym

Dzięki renderowaniu w czasie rzeczywistym promowanemu przez D5, oprogramowanie może szybko reagować na działania projektanta i natychmiast przekładać je na wysokiej jakości obrazy. Użytkownicy mogą od razu zobaczyć wizualizację swoich pomysłów, bez konieczności oczekiwania na zakończenie długiego procesu renderowania.

Z myślą o osiągnięciu GI w czasie rzeczywistym, zespół D5 pokonał wiele wyzwań i opracował rozwiązanie D5 GI, które zapewnia równowagę między jakością a szybkością renderowania.


Logika rozwiązania D5 GI

Poprzednie rozwiązania

Podstawą algorytmów Global Illumination jest równanie renderingu, zaproponowane przez Kajiya. Opisuje ono sposób, w jaki światło przemieszcza się w scenie, opierając się na zasadach fizyki światła oraz prawie zachowania energii. Implementacja GI sprowadza się
do znalezienia rozwiązania tego równania, co jest niezwykle skomplikowanym procesem. W renderingu w czasie rzeczywistym ograniczenie czasowe (mniej niż 0,03 sekundy na klatkę) dodatkowo utrudnia to zadanie.

Poprzednie rozwiązania GI w czasie rzeczywistym borykały się z wieloma problemami, takimi jak:

Przenikanie światła (light leakage) – światło nieprawidłowo „przenika” przez obiekty, co prowadzi do nienaturalnego oświetlenia.
Nadmierna ocena occlusion – obszary są zbyt ciemne z powodu błędów w obliczeniach światła pośredniego.
Duży poziom szumu – wynikający z niewystarczającej liczby próbek (low sampling rate), co skutkuje nierównomiernym oświetleniem.

Przenikanie światła między ścianą a sufitem

Duży poziom szumu

Pomimo tych trudności, zespół D5 opracował zaawansowaną technikę GI w czasie rzeczywistym o nazwie ReSTIR Surfel GI.
To rozwiązanie znacząco poprawia jakość obrazu, jednocześnie zachowując wysoką szybkość renderowania w czasie rzeczywistym.

ReSTIR Surfel GI

ReSTIR GI

ReSTIR (Reservoir-based Spatio Temporal Importance Resampling) to zestaw algorytmów, które wykorzystują czasowe i przestrzenne ponowne użycie próbek, by efektywnie obsługiwać problem próbkowania wielu źródeł światła. Technika ta została zaprezentowana w artykule SIGGRAPH autorstwa Bitterli i in. w 2020 roku.

ReSTIR wyłączone

Restir włączone

W D5 Render ReSTIR GI jest stosowane do przechowywania ścieżek promieni zamiast próbkowania samych źródeł światła.
Rozwiązanie to zmniejsza wariancję wyników próbkowania poprzez ponowne wykorzystanie informacji o próbkach
między klatkami oraz sąsiadującymi pikselami. Dzięki temu można uzyskać wysoką jakość nawet przy małej liczbie próbek.

Jednak ponowne użycie próbek czasowych może powodować zjawisko opóźnienia czasowego (Temporal Lag), gdy źródło światła zmienia się lub w scenie pojawiają się dynamiczne obiekty. Aby temu zaradzić, D5 zastosowało technikę Path Validation,
która wykrywa zmiany jasności między poprzednią a bieżącą klatką i dynamicznie dostosowuje liczbę próbek do ponownego użycia.

Surfel GI

Choć ReSTIR osiąga dobre wyniki, jego zastosowanie w wielokrotnych odbiciach światła w renderingu w czasie rzeczywistym
jest trudne. Dlatego rozwiązanie D5 GI wykorzystuje technikę Surfel Caching do obliczeń dla kolejnych odbić.

Surfel to technika buforowania przestrzennego, która iteracyjnie generuje informacje w oparciu o przestrzeń ekranu, efektywnie akumulując i buforując wartości napromieniowania. Dzięki temu promienie GI mogą jedynie odczytywać wyniki oświetlenia dla kolejnych odbić. Jednakże, metoda ta napotyka problemy, takie jak brak możliwości uzyskania wyników spoza przestrzeni ekranu.

Aby to poprawić, D5 wprowadziło ulepszenia, generując Surfels na podstawie przecięć promieni emitowanych przez GBuffer, co pozwala przechowywać informacje o Surfels spoza widoku i uzyskać prawidłowe wyniki.

Dodatkowo scena jest dzielona na kaskadowe siatki (Cascading Grids) w celu zarządzania Surfels i redukcji zużycia pamięci VRAM. Przenikanie światła jest eliminowane poprzez sortowanie i porównywanie czasów odbić promieni, a inne artefakty również zostały zredukowane.

Inne optymalizacje

Zespół D5 opracował również szereg rozwiązań dotyczących próbkowania wielu źródeł światła, odbić oraz usuwania szumów, co pozwala na wydajne i niezawodne działanie ReSTIR Surfel GI w różnych scenariuszach.


Wydajność rozwiązania D5 GI

Rozwiązanie D5 GI w porównaniu do Path Tracing

Aby ocenić wydajność D5 GI, można porównać je z Path Tracingiem, który jest standardem w renderingu komputerowym.

Porównanie wyników pokazuje, że jakość D5 GI jest bardzo zbliżona do Path Tracingu, co dowodzi, że rozwiązanie D5 skutecznie łączy szybkość renderingu z wysoką jakością obrazu.


Ulepszenia w D5 GI

Oświetlenie wewnątrz głębokich przestrzeni

Wcześniejsze wersje D5 GI nie uwzględniały światła nieba podczas buforowania, przez co wnętrza były często zbyt ciemne.
Wersja D5 2.4 GI poprawia ten aspekt, zapewniając realistyczne oświetlenie nawet w głębokich wnętrzach.

Detale cieni o wysokiej częstotliwości

Poprzednie wersje D5 mocno wygładzały szumy, co czasami sprawiało, że obraz wyglądał płasko. Nowe rozwiązanie wykorzystuje denoiser NVIDII i próbki o niskiej wariancji z ReSTIR, by dodać więcej detali w cieniach, co zwiększa realizm.

Precyzyjne Global Illumination

Nowa wersja wspiera precyzyjne buforowanie oświetlenia pośredniego, zapewniając płynne i realistyczne przejścia między obszarami jasnymi a ciemnymi.

Roślinność

W rzeczywistości liście są półprzezroczyste, gdy światło na nie pada. Nowa wersja GI i światło nieba lepiej symulują ten efekt.

Materiały emisyjne

Poprzednie wersje D5 obliczały jedynie oświetlenie bezpośrednie dla materiałów emisyjnych, co czyniło je nieodpowiednimi jako główne źródła światła. Wersja D5 2.4 GI poprawia ten aspekt, umożliwiając symulację odbić światła, co znacząco zwiększa ich efektywność.

Podgląd, rendering i animacja

Użytkownicy D5 nie będą już doświadczać różnic w jasności między podglądem a finalnym renderem, co miało miejsce w poprzednich wersjach. Nowe GI zapewnia precyzyjny podgląd i płynne doświadczenie tworzenia.


Podsumowanie

Wszystkie te usprawnienia zostały wprowadzone, aby projektanci mogli natychmiast wizualizować swoje pomysły bez długiego oczekiwania. D5 Render zapewnia płynny proces pracy dzięki efektownemu GI, precyzyjnemu podglądowi i szybkiemu renderowaniu.

Optymalizacja wysokiej jakości GI to ciągły proces, dlatego zespół D5 będzie dalej rozwijał swoje technologie, by zapewnić jakość zbliżoną do renderingu offline przy jednoczesnym zachowaniu doświadczenia w czasie rzeczywistym.

Zacznij pracę z D5 RENDER
Uwolnij swoją wyobraźnię