futurebeat.pl News Tech Mobile Gaming Nauka Moto Rozrywka Promocje

Technologie

Technologie 5 września 2018, 09:24

autor: Nils Raettig (gamestar.de)

Czym jest ray tracing? – śledzenie promieni a rasteryzacja

Ray tracing zagościł na naszych ustach, gdy Nvidia zaprezentowała nowe karty graficzne z rodziny RTX. Ale czym on tak właściwie jest? Jakie korzyści przynosi graczom? I ile trzeba za niego zapłacić?

Spis treści

Rasteryzacja

Rasteryzacja jest od dłuższego czasu używana do przygotowywania wirtualnych trójwymiarowych światów oraz do wyświetlania ich na dwuwymiarowych powierzchniach, takich jak monitory komputerów. - 2018-09-05
Rasteryzacja jest od dłuższego czasu używana do przygotowywania wirtualnych trójwymiarowych światów oraz do wyświetlania ich na dwuwymiarowych powierzchniach, takich jak monitory komputerów.

Aby móc wyrenderować w grze komputerowej właściwy obraz świata (3D) do wyświetlenia na monitorze komputera (2D), potrzebny jest nam jakiś punkt wyjścia. Z reguły jest to punkt widzenia, który przyjmujemy jako gracz; w pewnym sensie rozumiemy go jako wirtualną kamerę, która patrzy na świat gry.

Obiekty otaczające gracza zazwyczaj są trójwymiarowe, tak więc do poziomej osi X oraz pionowej osi Y dochodzi jeszcze oś Z, odpowiedzialna za głębię obrazu. Co więcej, składają się one z wielu pojedynczych wielokątów (z reguły stosowane są trójkąty), które z kolei tworzą znane wszystkim modele szkieletowe pokryte teksturami.

W technice rasteryzacji uproszczony obraz trójwymiarowego świata gry jest rzutowany na dwuwymiarową (pikselową) siatkę (patrz: obraz powyżej). To, co pokazane jest na ekranie, zależy od bieżącego punktu widzenia przyjętego w świecie gry. Wielokąty zawarte na obrazie znajdują się na określonych pikselach i tym samym mają wpływ na ich kolor.

Battlefield V i RTX: ponieważ większość płomieni znajduje się poza polem widzenia, na obrazie po lewej (bez ray tracingu) nie odbijają się one od błyszczącej powierzchni samochodu – co natomiast dzieje się w przypadku zastosowania tej techniki na obrazie po prawej.

Jeśli obiekt znajduje się poza polem widzenia (lub jest zasłonięty innym obiektem), nie będzie on wyświetlany na siatce. Z jednej strony powoduje to oszczędności w zużyciu mocy obliczeniowej, z drugiej natomiast oznacza, że pominięte obiekty mogą zostać uwzględnione w schemacie kolorów tylko pośrednio.

Sytuacja ta sprawia pewne problemy, szczególnie w przypadku oświetlenia i odbić. Źródło światła może mieć wpływ na postrzeganie sceny, nawet jeśli nie jest ono bezpośrednio widoczne dla gracza. Powierzchnie odbijające światło mogą pokazywać rzeczy, które nie znajdują się w naszym polu widzenia.

Aby móc uzyskać obraz jak najbardziej zbliżony do rzeczywistego, obecne silniki 3D wykorzystują rozmaite sztuczki, takie jak dodatkowe perspektywy kamery. W ogólnym rozrachunku czyni to z rasteryzacji opcję oferującą dobrą wydajność, która jest jednocześnie relatywnie przekonująca pod względem wizualnym.

Promienie zamiast siatki

W przypadku ray tracingu promienie światła są wysyłane do świata gry i śledzone z punktu widzenia gracza. Końcowa, dwuwymiarowa reprezentacja obrazu zależy od tego, na jakie obiekty promienie te natrafią i w którą stronę zostaną skierowane. - 2018-09-05
W przypadku ray tracingu promienie światła są wysyłane do świata gry i śledzone z punktu widzenia gracza. Końcowa, dwuwymiarowa reprezentacja obrazu zależy od tego, na jakie obiekty promienie te natrafią i w którą stronę zostaną skierowane.

Dużą zaletą ray tracingu jest to, że dzięki niemu sztuczki, które odpowiadają za realistyczną prezentację obrazu, nie są już niemalże potrzebne. Jednocześnie podstawowa reguła tej techniki renderowania jest całkiem prosta: w zasadzie symuluje ona, w jaki sposób postrzegane jest środowisko przez nasze oczy. Tutaj promienie światła (przykładowo słonecznego) docierają do przedmiotów, a następnie się od nich odbijają. Te odbicia z kolei docierają do oka i po odpowiednim przetworzeniu przez mózg dają obraz otoczenia odbiorcy.

Ray tracing do pewnego stopnia odwraca ten proces i przy pomocy wirtualnego oka wysyła promień z każdego piksela do świata gry, a następnie go śledzi. Stąd też bierze się nazwa techniki, gdzie „ray” oznacza promień, natomiast „trace” oznacza podążanie za czymś.

Jeśli jedna z tych wiązek dotrze do obiektu (lub wielokąta), dzięki ray tracingowi komputer nie tylko rozpoznaje, że ów obiekt się tam znajduje, ale także uwzględnia jego właściwości (takie jak kolor lub struktura powierzchni) i to, jaki ma wpływ na wiązkę światła. W zależności od kąta padania oraz rodzaju obiektu, strumień światła może być odchylony, a nawet załamany (na przykład w przezroczystych materiałach, takich jak szkło).

Również przezroczyste elementy, takie jak szkło i powierzchnie odbijające światło, mogą być wyświetlane bardzo realistycznie za pomocą ray tracingu. - 2018-09-05
Również przezroczyste elementy, takie jak szkło i powierzchnie odbijające światło, mogą być wyświetlane bardzo realistycznie za pomocą ray tracingu.

Wiązki światła można również dokładnie śledzić w miejscach, które nie znajdują się w zasięgu pola widzenia wirtualnego oka. Dlatego znajdujące się poza nim obiekty i źródła światła przy zastosowaniu ray tracingu mogą mieć wpływ na przedstawienie obrazu, co jest graczom bardzo dobrze znane ze świata rzeczywistego.

Ale nawet jeśli technika sama w sobie jest stosunkowo łatwa do wdrożenia, jej zastosowanie oznacza dość duże zużycie mocy obliczeniowej do śledzenia odpowiednio dużej liczby promieni potrzebnych do zobrazowania świata gry. Jest to również powód, dla którego technika ray tracingu w czasie rzeczywistym nie była dotychczas stosowana w grach.

Podczas prezentacji nowych kart graficznych z serii RTX 2000 prezes Nvidii, Jen-Hsun Huang, powiedział, że ray tracing w czasie rzeczywistym będzie wymagał mocy obliczeniowej rzędu petaflopów – co może być osiągnięte najwcześniej za 10 lat. Ta moc obliczeniowa odpowiada jednemu kwadrylionowi zmiennoprzecinkowych operacji arytmetycznych na sekundę (10^15). Obecne karty graficzne osiągają wartości w zakresie „zaledwie” teraflopów, co odpowiada jednemu bilionowi operacji arytmetycznych (10^12). A zatem właściwie jak Nvidia ma zamiar zaimplementować technikę ray tracingu w czasie rzeczywistym już teraz?

Jeśli w tej scenie z gry Metro Exodus nie zastosujemy ray tracingu, to oświetlone zostaną także obszary, które nie powinny być rozjaśnione przez światło padające z okna (obraz po lewej stronie). Ray tracing sprawia, że oświetlenie wygląda bardziej realistycznie (obraz po prawej stronie).

Warto było kupić GeForce RTX? Gry z najlepszym ray tracingiem
Warto było kupić GeForce RTX? Gry z najlepszym ray tracingiem

Od pojawienia się na rynku kart GeForce RTX 2080, nie zaznaliśmy zbyt wielu gier obsługujących ray tracing. Premiera RTX 3080 i obsługa tej technologii w PS5 i Xbox Series X daje jednak nadzieje na przyszłość.

Sprawdzamy ray tracing w Call of Duty: Modern Warfare
Sprawdzamy ray tracing w Call of Duty: Modern Warfare

Od momentu zapowiedzi kart graficznych z rodziny GeForce RTX oraz konsol Xbox Scarlett i PS5, ray tracing nie schodzi z ust wszystkich. Czy ta technologia sprawdza się dobrze również w najnowszej odsłonie serii Call of Duty?