Graficy komputerowi od lat próbują dostarczyć nam gry, które będą możliwie jak najdokładniej odwzorowywały otaczającą nas rzeczywistość. Niestety, przeniesienie praw fizyki do cyfrowego świata nie jest łatwe. I nie chodzi mi tu o fizykę utożsamianą z ruchem trójwymiarowych obiektów w przestrzeni. Światło, oto największy wróg i sprzymierzeniec wszystkich graczy. Gry, które umiejętnie grają światłem, potrafią lepiej manipulować naszymi uczuciami. Punktowo oświetlona scena może wzbudzić w nas poczucie grozy, a blask wybuchów rozlewający się po otaczających gracza obiektach dynamizuje rozgrywkę, pogłębiając wrażenie uczestniczenia w centrum akcji. Aby jednak stworzyć takie wysoce immersyjne doświadczenie, potrzebna jest ogromna moc obliczeniowa. W prawdziwym świecie otacza nas tak wiele źródeł światła oraz obiektów, które załamują je czy rozpraszają, że wierne odwzorowanie przebiegu wszystkich promieni świetlnych wydaje się niemal niemożliwe. Owszem, graficy zajmujący się wizualizacjami czy filmami animowanymi mogą pozwolić sobie na to, aby precyzyjnie wyliczyć oświetlenie każdej sceny, proces ten jest jednak absurdalnie zasobożerny, że nie nadaje się do wykorzystania w grach komputerowych. Zwłaszcza jeśli chcielibyśmy przeprowadzać te obliczenia w czasie rzeczywistym. Graficy musza posuwają się do najróżniejszych sztuczek, aby zamarkować działanie światła, np. prerenderują gotowe elementy z blikami światła czy odbiciami obiektów. Takie rozwiązania nie pozwolą jednak wykreować fotorealistycznej cyfrowej rzeczywistości. Bez prześledzenia każdego promienia świetlnego nie da się wiernie odwzorować otaczającego nas świata.

Renderuj tylko to, co widzisz

Aby przyspieszyć proces renderowania przy uwzględnieniu fotorealistycznego oświetlenia, graficy stosują technologię zwaną ray tracingiem. Jej działanie jest proste – zamiast wyliczać wszystkie promienie emitowane przez wszystkie wirtualne źródła światła, analizuje wyłącznie te, które widoczne są na ekranie pod postacią pikseli. Oprogramowanie ma mniej pracy, a efekt jest widoczny gołym okiem – cyfrowe materiały zachowują się dokładnie tak, jak w rzeczywistości, prawidłowo odbijając, załamując czy rozpraszając światło. Na poniższej ilustracji najlepiej widać, jak różni się obraz wygenerowany przy wykorzystaniu ray tracingu oraz klasycznych metod renderowania.
Zdjęcie: Nvidia
Dlaczego zatem tej technologii nie stosuje się w grach komputerowych? Powód jest dość prosty – chodzi o wydajność. Nic nie stoi na przeszkodzie, aby graficy stworzyli prerenderowane demo korzystając z tej technologii, ale zastosowanie jej do renderowania scen w czasie rzeczywistym było do niedawna niemożliwe. Karty graficzne nie oferowały tak dużej mocy obliczeniowej, aby poradzić sobie z tym zadaniem. Nvidia wprowadzając na rynek karty z serii RTX częściowo rozwiązała ten problem. Obrazy, które widać powyżej, były generowane w czasie rzeczywistym, a ten po prawej stronie wykorzystywał rdzenie graficzne przystosowane do wykonywania zadań ray tracingu. Jak twierdzą przedstawiciele Nvidii, prace nad stworzeniem karty graficznej zdolnej do analizowania trasy promieni świetlnych w czasie rzeczywistym zajęło firmie aż 10 lat i są to dopiero pierwsze przymiarki do wdrożenia tej technologii na szeroką skalę. Już w tym roku na rynku zadebiutuje kilka gier wykorzystujących ray tracing do poprawienia jakości grafiki, ale będą to raczej jednostkowe przypadki, na wysyp gier obsługujących tę metodę renderowania przyjdzie nam jeszcze trochę poczekać. Ale już teraz możemy przyjrzeć się, jak za kilka(naście) lat zmieni się branża gamingowa.

Cienie, czyli jak rozproszyć światło

Odpal dowolną grę i przyjrzyj się, jak wyglądają cienie rzucane przez postaci graczy oraz wszystkie ruchome elementy. A potem rozejrzyj się wokół siebie i zobacz, jak naprawdę powinny wyglądać. Cienie w grach komputerowych są zbyt ostre, nienaturalne. To jeden z tych elementów który najbardziej wybija nas z immersji podczas rozgrywki i jeden z najtrudniejszych do otoczenia. Jeśli mamy do czynienia z grami, w których światło jest statycznie, da się je jeszcze w miarę wiernie odtworzyć. Problem pojawia się, kiedy np. gracz otrzyma do dyspozycji pochodnię, z którą może się swobodnie poruszać. W teorii cienie powinny dynamicznie reagować na położenie nowego źródła światła. Niestety, dotychczas karty graficzne nie radziły sobie z tym zadaniem zbyt dobrze, przez co dynamiczne cienie rzucane przez trójwymiarowe obiekty były ostre, ciemne i zbyt jednolite. A kiedy w grę wchodziło kilka lub kilkanaście zmiennych źródeł oświetlenia, cieniowanie w czasie rzeczywistym było nie do odtworzenia. Wykorzystanie technologii ray tracing rozwiązuje ten problem, co najlepiej widać na poniższym filmie: Cienie wyglądają bardziej subtelnie i naturalnie nawet wtedy, kiedy oświetlenie zmienia się bardzo dynamicznie. Korzystanie z ray tracingu pozwala wyeliminować ostre krawędzie cieniowania i dobrze zblendować je z otoczeniem. Efekt? Trójwymiarowe postaci i obiekty w końcu przestały wyskakiwać z tła.

Jaśniej i ciemniej

Najnowsze filmy wyglądają tak dobrze na ekranach nowoczesnych telewizorów dlatego, że w pełni wykorzystują możliwości technologii HDR, która w największym skrócie polega na tym, że na jednej klatce można wyświetlić jednocześnie bardzo jasne i bardzo ciemne obiekty. Dobrze byłoby mieć tę technologię w grach, prawda? Owszem, istnieje na rynku wiele tytułów, które wykorzystują HDR, ale tylko w końcowej fazie kreowania obrazu, czyli w momencie wyświetlania go na ekranie. Silniki graficzne gier nie są w stanie w pełni wykorzystać potencjału drzemiącego w tej technologii. Powód jest dość prosty – nie nadają się do realistycznego odwzorowywania oświetlenia. Nvidia pokazała ten problem na przykładzie Metro: Exodus, w którym główny bohater znajduje się w bardzo ciemnym pomieszczeniu, do którego wpada ostre światło. Stosując wyłącznie oświetlenie kierunkowe, gra jest w stanie dobrze oświetlić wyłącznie te elementy, na które padają promienie świetlne. Pod uwagę nie bierze się żadnych rozproszeń czy odbić. Efekt jest dość prosty do przewidzenia – elementy oświetlone są odcięte od pozostałych wyraźną, ostrą linią. W rzeczywistości światło powinno odbijać się na elementach otoczenia, delikatnie rozmywając po wnętrzu. Choć obraz jest kontrastowy, nie można nazwać go rzeczywistym, gdyż cienie są zbyt głębokie, gracz nie widzi nic poza oświetlonymi elementami. Graficy rozwiązują ten problem w dość prosty sposób – tworząc oświetlenie globalne, które rozjaśnia scenę w sposób nienaturalny, bez wykorzystania konkretnego źródła. W prawdziwym świecie nie istnieje mistyczna siła, która rozświetla każdy atom z niczego, w grach jest to koniecznością. W przypadku treści prerenderowanych również da się rozwiązać ten problem przy pomocy ray tracingu. Śledząc przebieg promieni świetlnych, komputer jest w stanie wykalkulować, jak powinien wyglądać każdy piksel obrazu. Dzięki temu możemy obserwować na jednym kadrze jednocześnie ostro oświetlone elementy, z których światło odbija się na obiektach tła, oraz niedoświetlone, mroczne obszary. Scena renderowana w czasie rzeczywistym w technologii ray tracingu wygląda tak, jak najlepsze filmy. W pełni wykorzystuje efekt HDR, od momentu generowania grafiki aż po wyświetlanie jej na monitorze czy telewizorze.

Wszystko, co dobre, błyszczy się

Na koniec ostatni, najbardziej efektowny element – odbicia. Przypomnij sobie, jak często masz możliwość spojrzeć w lustro i zobaczyć wierne odwzorowanie swojego bohatera? Jak często widzisz rozbłyski płomieni na karoserii samochodu czy płomienie ognia zalewające tekstury obiektów pięknie rozmytym, pomarańczowym blaskiem? Jeśli już mamy możliwość delektowania się takimi efektami, to tylko i wyłącznie w prerenderowanych scenach. Jak łatwo się domyślić, ray tracing wprowadza te usprawnienia do rozgrywki, generując realistyczne odbicia w czasie rzeczywistym. W tym przypadku Nvidia posłużyła się przykładem Battlefield V, na którym w dość efektowny sposób wytłumaczyła, jak powinno zachowywać się światło, kiedy trafi na błyszczące obiekty: Muszę przyznać, że to, co udało się uzyskać na tym prostym materiale demonstracyjnym, robi ogromne wrażenie. Karoserie samochodów wypolerowane na wysoki połysk odbijają światło nawet wtedy, kiedy ich źródło jest poza kadrem, podobnie jak kałuże. Co więcej, ray tracing jest w stanie uchwycić nawet tak niewielkie odbicia, jak sylwetki samolotów lecących wysoko ponad głową głównego bohatera. Bez wykorzystania tej technologii tak szczegółowe odwzorowanie świata nie byłoby możliwe. Przy ray tracingu od każdego piksela na ekranie poprowadzona jest ścieżka promienia świetlnego, dzięki czemu silnik graficzny wie, co dokładnie powinno się w nim odbijać. Ponadto w przypadku bardzo ostrego źródła światła, jest w stanie dynamicznie zmieniać kolorystykę pikseli, aby wiernie odwzorować sposób, w jaki rozbłyski i płomienie rzucają światło na otaczające je obiekty.

Nie wszystko takie piękne, jak je malują

Mogłoby wydawać się, że dzięki kartom RTX nagle gry staną się tak realistyczne, jak otaczający nas świat. Nic bardziej mylnego, niestety. Po pierwsze, z technologii ray tracingu nie będą korzystały wszystkie tytuły, a nawet te w pełni wykorzystujące potencjał drzemiący w tych kartach, nie będą działać tak płynnie, jak mogłoby się wydawać. Dziennikarze PCGamesHardware ogrywali najnowszego Shadow of the Tomb Raider na najmocniejszej karcie Nvidii nowej generacji, modelu RTX 2080 Ti, przy włączonym ray tracingu. Okazało się, że mogą tylko pomarzyć o graniu w płynnych 60 klatkach na sekundę, gra przez większość czasu chodziła w 30-40 klatkach. Nie najgorzej, ale nie tego spodziewaliśmy się po technologii, która miała zrewolucjonizować branżę gier i zbliżyć ją do fotorealizmu. Owszem, zapaleńcy mogą kupić dwie karty RTX 2080 Ti i spiąć je w SLI. Ale do płynnego grania w 60 klatkach przy włączonym ray tracingu trzeba kupić układ graficzny na przeszło 10 tysięcy złotych, to nie możemy mówić o tym, że Nvidia upowszechni fotorealistyczne gry. Mimo iż seria RTX 20 jest pewną rewolucją, jej moc obliczeniowa wciąż jest zbyt mała, aby w pełni radzić sobie z renderowaniem przy wykorzystaniu ray tracingu w czasie rzeczywistym. To dopiero pierwsza odsłona tej technologii, jej prawdziwy potencjał poznamy za 5-10 lat, kiedy karty graficzne będą dysponowały taką wydajnością, aby bez problemu wiernie odwzorowywać zasady funkcjonowania oświetlenia w trójwymiarowej przestrzeni.
To jest uproszczona wersja artykułu. KLIKNIJ aby zobaczyć pełną wersję (np. z galeriami zdjęć)
Spodobał Ci się ten news? Zobacz nasze największe HITY ostatnich 24h
Skomentuj