Co to jest śledzenie ścieżki i śledzenie promieni? I dlaczego poprawiają grafikę?

Jeśli ostatnio rzuciłeś okiem na nowości związane z grami i grafiką, to słyszeliście najnowsze i najwspanialsze hasło: ray tracing. Być może słyszałeś również podobnie brzmiące słowo zwane śledzeniem ścieżki. I możesz być całkowicie wybaczony, że nie rozumiesz w pełni, czym jest którykolwiek z procesów.

Prostym wyjaśnieniem jest to, że zarówno śledzenie ścieżki, jak i śledzenie promieni to techniki graficzne, które dają bardziej realistyczne obrazy kosztem znacznie większej mocy obliczeniowej. Na YouTube znajduje się film o grze Minecraft , który w przejrzysty sposób pokazuje poszczególne aspekty ray tracingu, ale także ilustruje obciążenie, jakie wywiera na system.

Jeśli to jedyne wyjaśnienie, którego potrzebujesz, świetnie! Ale jeśli chcesz zagłębić się w temat i dowiedzieć się, jak działa każda technika i dlaczego producenci sprzętu GPU pobierają niewielką fortunę na karty obsługujące ray tracing, czytaj dalej.

Rasteryzacja i grafika komputerowa

Żaden obraz, który widzisz na ekranie komputera, nie zaczynał się od tego obrazu. Zaczyna się jako obraz rastrowy lub wektorowy. Obraz rastrowy składa się ze zbioru zacienionych pikseli.

Obraz wektorowy opiera się na wzorach matematycznych, co oznacza, że ​​obraz można powiększać niemal w nieskończoność. Wadą obrazów wektorowych jest to, że trudno jest uzyskać dokładniejsze szczegóły. Obrazy wektorowe(Vector) najlepiej stosować, gdy potrzebnych jest tylko kilka kolorów.

Główną zaletą rasteryzacji jest jej szybkość, zwłaszcza w porównaniu z technikami takimi jak ray tracing. Twój procesor graficzny(GPU) lub jednostka przetwarzania grafiki poinstruują grę, aby utworzyła obraz 3D z małych kształtów, najczęściej trójkątów. Te trójkąty są zamieniane w pojedyncze piksele, a następnie poddawane cieniowaniu, aby stworzyć obraz, który widzisz na ekranie.

Rasteryzacja była przez długi czas opcją dla grafiki gier wideo ze względu na szybkość jej przetwarzania, ale ponieważ obecna technologia zaczyna pokonywać swoje ograniczenia, potrzebne są bardziej zaawansowane techniki, aby przejść na wyższy poziom. Tu właśnie pojawia się ray tracing.

Ray tracing wygląda znacznie bardziej realistycznie niż rasteryzacja, co ilustruje poniższy obrazek. Spójrz na odbicia na dzbanku do herbaty i łyżce.

Co to jest śledzenie promieni?

Na poziomie powierzchni ray tracing to termin ogólny, który oznacza wszystko, od pojedynczego przecięcia światła i obiektu po całkowity fotorealizm. Jednak w najczęściej używanym obecnie kontekście ray tracing odnosi się do techniki renderowania, która podąża za wiązką światła (w pikselach) od ustawionego punktu i symuluje sposób, w jaki reaguje, gdy napotyka obiekty.

Poświęć chwilę i spójrz na ścianę pokoju, w którym się znajdujesz. Czy na ścianie jest źródło światła, czy też światło odbija się od ściany z innego źródła? Grafika ze śledzeniem promienia(Ray) wodzącego zaczynała się od twojego oka i podążała twoją linią wzroku do ściany, a następnie podążała ścieżką światła od ściany z powrotem do źródła światła.

Powyższy diagram ilustruje, jak to działa. Powodem symulowania „oczu” (kamera na tym schemacie) jest zmniejszenie obciążenia GPU .

Czemu? Cóż, ray tracing nie jest nowy. Właściwie istnieje już od dłuższego czasu. Pixar wykorzystuje techniki ray tracingu do tworzenia wielu swoich filmów, ale wysokiej jakości grafika klatka po klatce w osiąganych przez Pixar rozdzielczościach wymaga czasu.

Dużo(A lot) czasu. Niektóre klatki na Uniwersytecie Potwornym(Monsters University) zajęły po 29 godzin każda. Toy Story 3 zajęło średnio 7 godzin na klatkę, a niektóre klatki zajęły 39 godzin, zgodnie z historią Wired z 2010 roku.(Wired. )

Ponieważ film ilustruje odbicie światła z każdej powierzchni, tworząc styl graficzny, który wszyscy znają i kochają, obciążenie pracą jest prawie niewyobrażalne. Ograniczając techniki ray tracingu tylko do tego, co widzi oko, gry mogą wykorzystywać tę technikę bez powodowania (dosłownego) załamania się procesora graficznego.

Spójrz na poniższy obrazek.

To nie jest fotografia, mimo że wygląda realistycznie. To obraz ze śledzeniem promieni. Spróbuj sobie wyobrazić, ile energii potrzeba do stworzenia takiego obrazu. Jeden promień można prześledzić i przetworzyć bez większych problemów, ale co z tym, gdy ten promień odbija się od obiektu?

Pojedynczy promień może zamienić się w 10 promieni, a te 10 mogą zamienić się w 100 i tak dalej. Wzrost jest wykładniczy. Po pewnym momencie odbicia i odbicia poza trzeciorzędem i czwartorzędem pokazują malejące zwroty. Innymi słowy, wymagają znacznie więcej mocy do obliczenia i wyświetlenia, niż są warte. Aby renderować obraz, gdzieś trzeba wytyczyć granicę.  

Teraz wyobraź sobie, że robisz to 30 do 60 razy na sekundę. Jest to ilość energii wymagana do korzystania z technik ray tracingu w grach. Z pewnością robi wrażenie, prawda?

Dostępność kart graficznych obsługujących ray tracing będzie rosła wraz z upływem czasu i ostatecznie ta technika stanie się tak łatwo dostępna, jak grafika 3D. Na razie jednak ray tracing jest nadal uważany za najnowocześniejszą grafikę komputerową. Jak więc w grę wchodzi śledzenie ścieżki?

Co to jest śledzenie ścieżki?

Śledzenie ścieżki(Path) to rodzaj śledzenia promieni. Pod tym parasolem mieści się, ale tam, gdzie ray tracing był początkowo teoretycznie rozważany w 1968 roku, śledzenie ścieżki pojawiło się na scenie dopiero w 1986 roku (a wyniki nie były tak dramatyczne jak teraz).

Pamiętasz wspomniany wcześniej wykładniczy wzrost promieni? Śledzenie ścieżki(Path) zapewnia rozwiązanie tego problemu. Podczas korzystania ze śledzenia ścieżki do renderowania promienie generują tylko jeden promień na odbicie. Promienie nie podążają za ustaloną linią przy każdym odbiciu, ale raczej wystrzeliwują w losowym kierunku.

Algorytm śledzenia ścieżki pobiera następnie losowe próbkowanie wszystkich promieni, aby utworzyć ostateczny obraz. Skutkuje to próbkowaniem różnych typów oświetlenia, a zwłaszcza oświetlenia globalnego.

Ciekawą rzeczą w śledzeniu ścieżki jest to, że efekt można emulować za pomocą shaderów. Niedawno pojawiła się łatka do cieniowania dla emulatora Nintendo Switch , która pozwalała graczom naśladować globalną iluminację naśladowaną w takich tytułach jak The Legend of Zelda: Breath of the Wild i Super Mario Odyssey. Chociaż efekty wyglądają ładnie, nie są tak kompletne, jak prawdziwe śledzenie ścieżki.

Path tracing to tylko jedna z form ray tracingu. Chociaż został okrzyknięty najlepszym sposobem renderowania obrazów, śledzenie ścieżki ma swoje wady.

Ostatecznie jednak zarówno śledzenie ścieżki, jak i ray tracing dają absolutnie piękne obrazy. Teraz, gdy sprzęt w maszynach konsumenckich osiągnął punkt, w którym śledzenie promieni jest możliwe w czasie rzeczywistym w grach wideo, branża jest gotowa dokonać przełomu, który jest prawie tak imponujący, jak przejście z grafiki 2D do 3D.

Jednak minie jeszcze trochę czasu – co najmniej kilka lat – zanim niezbędny sprzęt zostanie uznany za „niedrogi”. W tej chwili nawet niezbędne karty graficzne kosztują znacznie ponad 1000 USD.



About the author

Jestem technikiem komputerowym z ponad 10-letnim doświadczeniem i doświadczeniem w pracy z urządzeniami z systemem Android. Od pięciu lat pracuję również w biurze, gdzie nauczyłem się obsługi Office 365 i MacOS. W wolnym czasie lubię spędzać czas na świeżym powietrzu, grając muzykę lub oglądając filmy.



Related posts