Co to jest Path Tracing i jak się go wykorzystuje?

Dzięki eksplozji mocy obliczeniowej w ciągu ostatniego półtora dziesięciolecia, path tracing przetoczył się przez media wizualne. Przynosi wielkie efekty w największych hitach kinowych, rzuca subtelne światło i cień na najbardziej wciągające melodramaty i wyniósł sztukę animacji na nowe poziomy.

Co to jest Path Tracing i jak się go wykorzystuje?

Opracowanie ulepszonych algorytmów Monte Carlo dla śledzenia ścieżek pozostaje do dziś otwartym problemem badawczym; naukowcy z firmy NVIDIA znajdują się w czołówce tej dziedziny, regularnie publikując nowe techniki zwiększające efektywność śledzenia ścieżek.

Przyjrzyjmy się więc bliżej temu, co może nam zaoferować technologia śledzenia ścieżek

Rasteryzacja a Ray Tracing

Najpierw zdefiniujmy kilka pojęć oraz to, w jaki sposób są one dziś wykorzystywane do tworzenia grafiki interaktywnej - grafiki, która może reagować w czasie rzeczywistym na polecenia użytkownika, np. w grach wideo.

Pierwsze z nich, rasteryzacja, to technika, która tworzy obraz widziany z jednego punktu widzenia. Od początku stanowiła ona serce układów GPU. Nowoczesne układy GPU NVIDIA mogą generować ponad 100 miliardów rasteryzowanych pikseli na sekundę. Dzięki temu rasteryzacja jest idealnym rozwiązaniem dla grafiki w czasie rzeczywistym, np. w grach.

Ray tracing jest bardziej wydajną techniką niż rasteryzacja. Zamiast ograniczać się do określenia, co widać z jednego punktu, może określić, co widać z wielu różnych punktów, w wielu różnych kierunkach.

Począwszy od architektury NVIDIA Turing, procesory graficzne NVIDIA zapewniły wyspecjalizowany sprzęt RTX do akceleracji tych trudnych obliczeń. Obecnie pojedynczy układ GPU może śledzić miliardy promieni na sekundę.

[%produkty%]

Ray Tracing w grafice komputerowej

To, co obecnie znamy pod definicją Ray Tracingu opisane zostało po raz pierwszy w 1525 roku, natomiast dopiero w 1969 roku, Arthur Appel z IBM pokazał, jak idea ray tracingu może być wykorzystana w grafice komputerowej, stosując ją do obliczania widoczności i cieni.

Dekadę później Turner Whitted jako pierwszy pokazał, w jaki sposób ta idea może uchwycić odbicie, cienie i załamanie światła, wyjaśniając, w jaki sposób pozornie prosta koncepcja może umożliwić znacznie bardziej zaawansowaną grafikę komputerową.

W ciągu następnych kilku lat postęp był błyskawiczny, a już w 1989 roku profesor CalTech Jim Kajiya połączył grafikę komputerową z fizyką poprzez ray tracing i wprowadził algorytm path-tracing, który był dowodem na to, że techniki statystyczne mogą być użyte do rozwiązania równania renderingu: nawet jeśli nie jest ono rozwiązane bezpośrednio, możliwe jest rozwiązanie go wzdłuż ścieżek poszczególnych promieni.

Jeśli jest ono rozwiązane wzdłuż ścieżki wystarczającej liczby promieni, by dokładnie przybliżyć oświetlenie sceny, możliwe jest uzyskanie fotorealistycznych obrazów.

Co to jest Path Tracing?

Algorytm Path Tracingu w dużym uproszczeniu, umożliwia dokładne odwzorowanie sposobu, w jaki światło rozprasza się w scenie.

Podczas renderowania, Path Tracing śledzi drogę, jaką promień światła pokonuje podczas przechodzenia przez scenę. Promień światła startuje z kamery, przechodzi przez piksel na ekranie, a następnie przemieszcza się przez scenę, odbijając się od obiektów i uderzając w kolejne powierzchnie, aż dojedzie do źródła światła lub zostanie całkowicie pochłonięty.

Podczas procesu renderowania, Path Tracing generuje wiele promieni światła, aby osiągnąć jak największą dokładność obrazu. Dzięki temu, renderowany obraz może wyglądać bardzo realistycznie, z dokładnymi cieniami, odbiciami i oświetleniem.

[%produkty_2%]

Czy Path Tracing można wykorzystać w grach?

Przez wiele lat pomysł śledzenia ścieżek w grach zostawał w strefie wyobraźni. Choć wielu twórców gier zgodziłoby się, że chcieliby korzystać z path tracingu, gdyby miał on wydajność umożliwiającą do renderowania grafiki w czasie rzeczywistym - niestety jest on bardzo zasobożerny i czasochłonny, co oznacza, że renderowanie jednego obrazu może zająć wiele czasu.

Jednak w miarę jak procesory graficzne stawały się coraz szybsze, a teraz wraz z powszechną dostępnością sprzętu RTX, path tracing w czasie rzeczywistym jest w zasięgu ręki. Gry to najbardziej wymagający projekt w dziedzinie obliczeń wizualnych: wymagają wysokiej jakości wizualnej i szybkości, by móc współdziałać z graczami o szybkim tempie gry.

Niewątpliwie, do zrobienia zostało jeszcze wiele rzeczy. A twórcy gier będą musieli wiedzieć, że klienci mają moc obliczeniową, której potrzebują, by doświadczyć gry ze śledzeniem ścieżek.

Podsumowanie

W miarę jak układy GPU stają się coraz wydajniejsze, wykorzystanie śledzenia ścieżek zarówno w pracy jak i interaktywnej rozgrywce jest kolejnym logicznym krokiem.

Dzięki coraz potężniejszemu sprzętowi oraz mnożącym się narzędziom programowym i powiązanym z nimi technologiom, nadchodzą kolejne. W rezultacie cyfrowe doświadczenia - gry, wirtualne światy, a nawet narzędzia do współpracy online - nabiorą cech kinowych hollywoodzkiego hitu.