Rasteryzacja, Ray Tracing i Path Tracing w grach

Rasteryzacja, Ray Tracing i Path Tracing w grach

Rasteryzacja, Ray Tracing i Path Tracing w grach

Pora rozbadać temat path tracing w porównaniu do ray tracingu i zrozumieć, dlaczego są one potrzebne w grafice w grach.

Tradycyjnie deweloperzy korzystali z techniki zwanej rasteryzacją do renderowania grafiki w grach. Rasteryzacja polega na przekształceniu kształtów matematycznych wektorów na piksele w taki sposób, żeby można było je oglądać na monitorach komputerowych czy innych wyświetlaczach opartych na pikselach (w przeciwieństwie do starszych wyświetlaczy CRT).

Trzeba przyznać, że rasteryzacja była dość skuteczną metodą przybliżającą zachowanie światła w grach, korzystając z „pre-renderowanego” oświetlenia z statycznymi źródłami światła. Ale wraz z rosnącym zapotrzebowaniem na fotorealistyczną grafikę w grach, razem z postępem technologicznym, real-time ray tracing stał się dostępny dla graczy.

W przeciwieństwie do rasteryzacji, ray tracing próbuje symulować zachowanie światła w rzeczywistości we wszystkich klatkach gry lub aplikacji. Ponieważ światło może odbijać się, załamywać lub się pochłaniać po oddziaływaniu z wieloma obiektami w rzeczywistości, takie samo zachowanie promieni świetlnych jest obliczane dla każdego pojedynczego piksela klatki. Oznacza to obliczenie zachowania milionów symulowanych promieni dla jednej klatki. Dlatego też ray tracing jest tak wymagającą obliczeniowo techniką.

Ray tracing sam w sobie nie jest niczym nowym. Opracowany w 1969 roku, był używany przez studia filmowe w różnym stopniu od lat 70. Ale Hollywood ma luksus „pre-renderowania” każdej klatki filmu za pomocą „farm renderowych”, które czasami potrzebują tygodni, aby obliczyć jedną scenę z ray tracingiem.

Real-time ray tracing w grach jest czymś innym, ponieważ musi wykonać te złożone obliczenia w dynamicznie zmieniającym się środowisku dla każdej pojedynczej klatki. Dlatego większość gier z ray tracingiem – nawet korzystając z akceleracji sprzętowej nowoczesnych GPU – korzysta tylko z jednego lub dwóch elementów ray tracingu w połączeniu z rasteryzacją, na przykład z odbiciami lub cieniami renderowanymi za pomocą ray tracingu.

Teraz czas na path tracing. W swojej istocie, path tracing to po prostu zmodyfikowana wersja ray tracingu. Zamiast śledzić ścieżkę każdego pojedynczego promienia świetlnego – czy to pierwotnego, czy odbitego (wtórnego) – path tracing oblicza tylko najbardziej prawdopodobną ścieżkę, jaką światło by podążyło, gdyby przechodziło przez scenę.

Stworzony w latach 80., path tracing wymaga bardziej złożonej matematyki, która obejmuje wiele promieni dla każdego pojedynczego piksela, ale ostatecznie prowadzi do mniejszego obciążenia dla sprzętu renderującego, czyli twojego GPU. Path tracing to przybliżenie ray tracingu za pomocą symulacji Monte Carlo – modeli prawdopodobieństwa, które pomagają przewidzieć najbardziej prawdopodobne wyniki w sytuacjach, gdzie precyzyjne przewidywanie jest niemożliwe.

Istnieją inne warianty ray tracingu, takie jak mapowanie fotonów (rozwinięte w 2001 roku) – dwustopniowa technika oświetlenia globalnego. Pierwszy krok polega na używaniu promieni świetlnych w całej scenie, aby stworzyć mapę fotonów zawierającą dane koloru i oświetlenia, a drugi krok polega na renderowaniu sceny w czasie rzeczywistym, wykorzystując przetworzoną mapę fotonów. Mapowanie fotonów technicznie redukuje jeszcze bardziej obciążenie obliczeniowe, ale jest dość skomplikowane i narażone na pewne artefakty przy mniej potężnym sprzęcie.

Jednak path tracing wygląda lepiej niż ray tracing. Jeśli path tracing tylko przybliża efekt ray tracingu, dlaczego jest lepszy? Czy wynik nie powinien być gorszy niż w przypadku ray tracingu?

Nie. Spór path tracing vs ray tracing jest trochę bardziej złożony. Path tracing – czasem nazywany pełnym ray tracingiem – faktycznie produkuje bardziej realistyczne oświetlenie w grach. Ostatnie gry takie jak Cyberpunk 2077 i Alan Wake 2 pokazały, jak może wyglądać pełnowartościowy ray tracing (przy pomocy path tracingu).

Path tracing został nawet zaimplementowany w starszych tytułach, takich jak Quake 2, Portal, The Elder Scrolls V: Skyrim i Half-Life, zmieniając je z przestarzałej grafiki w technologiczne dema.

Path tracing może produkcować bardziej realistyczne oświetlenie dzięki większym próbkom danych, do których ma dostęp. W przeciwieństwie do ray tracingu, path tracing wysyła wiele promieni świetlnych dla każdego piksela do sceny, próbkując tylko niektóre z nich, aby uzyskać ostateczny wynik. Dzięki temu algorytmowi – wspomaganemu denoisingiem dzięki Nvidia DLSS – można uzyskać lepiej zdefiniowane cienie, odbicia i oświetlenie globalne.

Technicznie rzecz biorąc, path tracing jest łatwiejszy na GPU. Pomimo bardziej skomplikowanych obliczeń, denoisingu i sztuczek sztucznej inteligencji związanych z path tracingiem, teoretycznie okazuje się, że jest mniej wymagający dla GPU.

Gry rozwinięte od podstaw z wykorzystaniem path tracingu najbardziej skorzystają z tej mniejszej obciążenia. Niestety, rzadko jest to obecnie praktykowane. Path tracing jest wprowadzany do różnych gier jako aktualizacja, lata po pierwotnej premierze.

Nawet Alan Wake 2, który Nvidia określa jako „w pełni ray tracingową grę”, nie używa powszechnie path tracingu. Jednak wciąż jest to niesamowita gra, której efekty wizualne zapierają dech w piersiach, także na PS5.

Aktualnie takie tytuły są trudne do uruchomienia na grywalnych klatkach, nawet z wykorzystaniem najwydajniejszych GPU. Karty RTX 40 firmy Nvidia będą musiały korzystać z szeregu funkcji sztucznej inteligencji tylko po to, aby renderować te gry w niższych rozdzielczościach i skalować je, aby uzyskać akceptowalne rezultaty.

Ale za kilka lat, dzięki postępowi sztucznej inteligencji w grach, wprowadzenie path tracingu stanie się znacznie łatwiejsze na dostępnych dla wszystkich GPU.

Warto wiedzieć: zachwycony PS5? Te karty graficzne dorównują lub przewyższają PS5.

Path tracing to nie jest nowa technika. Od lat 2000 path tracing jest używane przez studia filmowe, takie jak Disney i Sony.

FAQ:

1. Jakie są główne różnice między rasteryzacją, ray tracingiem a path tracingiem?
Rasteryzacja to tradycyjna technika renderowania grafiki w grach, polegająca na przekształcaniu wektorów matematycznych w piksele. Ray tracing symuluje zachowanie światła w rzeczywistości i oblicza ścieżki świetlne dla każdego piksela. Path tracing oblicza jedynie najbardziej prawdopodobna ścieżkę świetlną dla każdego piksela.

2. Jak działa ray tracing?
Ray tracing oblicza zachowanie promieni świetlnych w scenie gry, uwzględniając odbicia, załamania i pochłanianie światła przez obiekty. Działa na zasadzie analizy każdego promienia świetlnego dla każdego piksela, co wymaga dużych obliczeń.

3. Jak działa path tracing?
Path tracing oblicza najbardziej prawdopodobną ścieżkę świetlną, jaką światło by podążyło, gdyby przechodziło przez scenę. Wykorzystuje wiele promieni świetlnych dla każdego piksela, ale próbkowanie jest stosowane, aby zmniejszyć obciążenie obliczeniowe.

4. Jakie są zalety path tracingu?
Path tracing produkuje bardziej realistyczne oświetlenie dzięki większym próbkom danych. Może zapewnić lepiej zdefiniowane cienie, odbicia i oświetlenie globalne. Technicznie rzecz biorąc, path tracing jest mniej obciążający dla GPU niż ray tracing.

5. Czy path tracing jest używany w grach?
Path tracing jest wprowadzany do niektórych gier jako aktualizacja, ale zazwyczaj jest to praktykowane lata po pierwotnej premierze gry. Nowsze gry, takie jak Cyberpunk 2077 i Alan Wake 2, wykorzystują path tracing w celu uzyskania bardziej realistycznej grafiki.

Linki do głównej domeny:
NVIDIA.com
Disney.com
Sony.com

The source of the article is from the blog radiohotmusic.it