autor: Jacek Winkler
Minecraft RTX – rewolucja w klockach. Gry z najlepszym ray tracingiem
Spis treści
Minecraft RTX – rewolucja w klockach
Tego, że ray tracing zawita do Minecrafta raczej się nikt nie spodziewał, a dodanie tutaj śledzenia promieni pokazało, jak duże znaczenie ma realistyczne oświetlenie w grach komputerowych. Dotychczas artyści robili to ręcznie (lub w ogóle, co pokazuje Minecraft bez zmodyfikowanych shaderów), ale nawet pomimo zastosowania technologii PBR (physically based rendering), nie jest możliwe osiągnięcie wyników takich, jakie prezentuje ray tracing.
Każde przejście tonalne w pomieszczeniu jest widoczne na pierwszy rzut oka. Światło słoneczne wpada przez okno oraz „rozlewa” się po całym pomieszczeniu, dając efekt zarówno światła twardego na części powierzchni, na którą promienie padają bezpośrednio oraz światło miękkie, rozproszone, pośrednio oświetlając cały pokój. Limitem jest tutaj oczywiście wydajność, dlatego odpowiednie dopasowanie ilości promieni jest kluczowe, żeby zachować dobrą płynność wyświetlanego obrazu. Namiastkę tego co prezentuje tutaj śledzenie promieni możemy zaobserwować na przykład w Assassin’s Creed: Unity, który korzysta właśnie z PBR oraz uprzednio wyliczonych scen światła.
Korzystając z rzeczywistych właściwości materiałów w Minecrafcie zaobserwować możemy jeszcze jedną rzecz. Jest to mianowicie interakcja obiektów ze światłem z otoczenia. Stawiając blok, który jest metalem czy szkłem, automatycznie zostanie odpowiednio doświetlony i cieniowany, a odbicia czy refrakcje z jego koloru pojawią się na powierzchniach obok niego. Nie trzeba więc stosować wcześniej wyliczonych scenariuszy, ponieważ śledzenie promieni zrobi to za deweloperów i zrobi to nie tylko w czasie krótszym, ale również bardziej precyzyjnie. To jest też głównym powodem, dla którego wcześniej światło nie wchodziło w interakcję z obiektami w grze.
Quake 2 RTX
Quake 2 to świetny przykład na to, jak wymagający ray tracing naprawdę jest. Gra wydana oryginalnie została w roku 1997, co czyni ją starszą niż wielu czytających ten artykuł. Był to czas, w którym w życie weszły pierwsze oznaki akceleracji sprzętowej stosowanej dzięki kartom graficznym. Wersja z RTX nie pozbywa się rasteryzacji w całości, ponieważ niektóre efekty pozostają nadal takie same, ale to co widzimy na ekranie można z czystym sumieniem podpisać jako śledzenie promieni w najczystszej postaci.
Oczywiście sama gra nie będzie wyglądać dobrze, ponieważ starano się zachować tekstury z oryginału, ale największy dysonans możemy zaobserwować w przypadku oświetlenia i cieniowania. Tutaj różnica jest już ogromna, ponieważ z gry ciemnej, oświetlonej jednakowo w każdym pomieszczeniu zrobiła się produkcja, w której każdy niuans omawianej technologii możemy wychwycić już podczas pierwszego kontaktu z grą.
Przykładem tego może być strzelanie rakietami. Od razu po oddaniu strzału na ekranie możemy obserwować miękkie cienie pocisku, a doświetlone pomieszczenie zmienia kolor na ten, który generuje pocisk. Finalnie wybuch powoduje kulę ognia, której światło pada na każdą możliwą powierzchnię dookoła. Jeżeli zrobiłeś to nad wodą, będziesz w stanie zaobserwować precyzyjne odbicie na jej powierzchni. Taki efekt jest niemożliwy do uzyskania bez ray tracingu, co dodaje znaczącego realizmu.
Control – gra stworzona pod ray tracing
Największą moim zdaniem premierą pod względem wprowadzania do gier śledzenia promieni był Control. Nie dlatego, że jest praktycznie w całości renderowana za pomocą path tracingu, ale dlatego, że to pierwsza gra AAA symulująca realistyczną oprawę wizualną z tyloma efektami RT. Wydana w 2019 roku produkcja może się pochwalić wieloma efektami liczonymi na kartach RTX od Nvidii. Najważniejszym efektem jest oczywiście ray tracing odbić, przez co gra zyskuje na realizmie.
Od teraz w szklanych witrynach możesz zauważyć twoją postać oraz otoczenie, co w przypadku nawet SSR (screen space reflections) było niemożliwe lub ze względu na swoją naturę – bardzo niedokładne. Dodatkowo odbicia na każdej powierzchni zostały potraktowane w ten sam sposób. Nie oznacza to jednak, że każda powierzchnia stała się lustrem. Ray tracing odbić nadal wchodzi w interakcję z rzeczywistymi właściwościami materiałów, przez co odbicia na polerowanym drewnie będą inne niż odbicia w szkle.
To jednak nie koniec. Ray tracing pośredniego światła rozproszonego dodaje ten naturalny miękki wydźwięk scenie doświetlonej za pomocą globalnego oświetlenia, który możemy obserwować w Metro: Exodus, Minecrafcie oraz Quake 2 RTX. Pomimo tego, że standardowa rasteryzacja globalnego oświetlenia wygląda w Control naprawdę dobrze, nie jest w stanie wygenerować tak solidnego obrazu jak RTX. Szczególnie widoczne jest to w przypadku rzucania świateł odbitych, których kolor odpowiada kolorowi obiektów odbijających to światło - ten efekt jest nieobecny w przypadku rasteryzacji.
Ray tracing cieni kontaktowych dodaje cienie rzucane przez mniejsze obiekty, w miejscach, gdzie standardowe mapy nie są w stanie wygenerować takich detali. Jest to zdecydowanie mała różnica, bo zazwyczaj grając nie dostrzegamy czegoś takiego jak cień rzucany przez klamkę przy drzwiach. Efekt jednak jest dostępny i dopełnia całość sceny. Ostatnim efektem jest ray tracing szczątkowych obiektów. Control znany jest ze swojej fizyki, dzięki której szczątki podczas wybuchów wręcz zasypują ekran. Efekt świetny, ale bez ray tracingu nie generują one odbić na powierzchniach.
Metro: Exodus
Najnowsza odsłona Metro posiada część efektów ze śledzeniem promieni. Twórcy zdecydowali się na dodanie globalnego oświetlenia, które jest niewspółmiernie lepsze od tego, co zazwyczaj możemy oglądać na ekranach w grach wykorzystujących czystą rasteryzację. Pomimo tego, że efekt nie jest tak zauważalny w pełnym słońcu, czy ogólnie na terenach otwartych, gdzie niska ilość obiektów skutecznie maskuje niedoskonałości wykalkulowanych wcześniej scen światła, to w przypadku dowolnych pomieszczeń z przenikającym światłem słońca lub księżyca, efekt ten robi piorunujące wrażenie.
Pomimo tego, że AC: Unity ma już na karku 6 lat, nadal wygląda w tym aspekcie bardzo dobrze, przebijając nierzadko produkcje nowe. Ale nawet to nie pozwoliło się zbliżyć do śledzenia promieni w Metro: Exodus. Przykład powyżej ukazuje jak bardzo oświetlenie pośrednie uzyskane za pomocą ray tracingu odbiega od tradycyjnej rasteryzacji i sztucznego rozmieszczania cube map.
Mamy nie tylko odpowiedni kolor odbijający się od drewnianej podłogi, ale także realistycznie cieniowane obiekty doświetlone światłem pośrednim. W przypadku rasteryzacji, każdy obiekt na widocznej powyżej scenie jest bez życia, monotonny, z takim samym oświetleniem i cieniowaniem. Po włączeniu RTX możemy dodatkowo zaobserwować jak dynamiczny obiekt (w tym przypadku jest to postać), zaczyna rzucać swój cień oraz cieniować siebie w tym samym czasie, co jest kompletnie nieobecne w przypadku rasteryzacji.