Niedawno demo firmy Epic, twórcy silnika gry Unreal, uniosło brwi z powodu fotorealistycznych efektów świetlnych. Technika ta jest dużym krokiem naprzód w dziedzinie ray tracingu. Ale co to znaczy?
Co robi ray tracing
Mówiąc prościej, ray tracing to metoda wykorzystywana przez silnik graficzny do obliczania, w jaki sposób wirtualne źródła światła wpływają na elementy w ich otoczeniu. Program dosłownieśladypromienieświatła, korzystając z obliczeń opracowanych przez fizyków, którzy badają sposób, w jaki zachowuje się prawdziwe światło.
Silniki graficzne, takie jak Unreal lub Unity, wykorzystują ray tracing do renderowania realistycznych efektów świetlnych — cieni, odbić i okluzji — bez konieczności renderowania ich jako własnych obiektów. Choć z punktu widzenia przetwarzania jest dość intensywny, użycie go do renderowania tylko tego, co kamera (tj. odtwarzacz) musi zobaczyć w danym momencie, oznacza, że może być bardziej wydajny niż inne, starsze metody symulowania realistycznego światła w środowiskach wirtualnych. Specyficzne efekty świetlne są renderowane na jednej dwuwymiarowej płaszczyźnie z perspektywy widza, nie zawsze w całym otoczeniu.
Wszystko to osiąga się za pomocą niezwykle złożonej matematyki, zarówno pod względem faktycznego określenia sposobu zachowania wirtualnego światła, jak i tego, jak wiele z tych efektów jest widocznych dla widza lub gracza w danym momencie. Deweloperzy mogą używać mniej skomplikowanych wersji tych samych technik, aby uwzględnić słabszy sprzęt lub bardziej szybką i płynną rozgrywkę.
Ray tracing to ogólne podejście do grafiki, a nie konkretna technika, chociaż jest stale udoskonalane i ulepszane. Może być używany w prerenderowanych grafikach, takich jak efekty specjalne widoczne w hollywoodzkich filmach, lub w silnikach czasu rzeczywistego, takich jak grafika, którą widzisz w trakcie rozgrywki podczas gry na PC.
Co nowego w ray tracingu?
Demo, które niedawno pojawiło się w wiadomościach z ray tracingiem, to to na poniższym filmie, krótkie Gwiezdne Wojny szkic z udziałem niektórych szturmowców z naprawdę złym wyczuciem czasu. Został on pokazany na konferencji Game Developer’s Conference w zeszłym tygodniu. Został stworzony przez Epic Games (twórców wszechobecnego silnika Unreal Engine) we współpracy z NVIDIA i Microsoft, aby zaprezentować nowe techniki ray tracingu.
Wyrwany z kontekstu, to tylko głupie wideo. Ale ważne jest to, że jest renderowany w czasie rzeczywistym, jak gra wideo, a nie wcześniej jak film Pixara. Poniższy film pokazuje prezentera przybliżającego kamerę przez scenę za pomocą sterowania w czasie rzeczywistym, co nie jest możliwe w przypadku prerenderowanej grafiki.
Teoretycznie, jeśli twój komputer do gier jest wystarczająco mocny, może generować taką grafikę w dowolnej grze, korzystając z nowych efektów świetlnych ray tracingu w nadchodzącej wersji demo Unreal.
Technologia naprawdę błyszczy (rozumiesz?), ponieważ to konkretne demo zawiera wiele odbijających i lustrzanych powierzchni o nieregularnej geometrii. Sprawdź, jak otoczenie odbija się w zakrzywionych panelach chromowanej zbroi kapitana Phasmy. Co równie ważne, zauważ, jak odbija się on bardziej tępo i rozproszono od białej zbroi zwykłych szturmowców. Jest to poziom realistycznego oświetlenia, który nie jest dostępny w dzisiejszych grach.
Czy to sprawi, że moje gry będą wyglądać niesamowicie?
No tak – w bardzo szczególnych okolicznościach. Ten zaawansowany poziom ray tracingu ułatwi grom wideo renderowanie bardziej imponujących efektów świetlnych, ale w rzeczywistości nie sprawi, że wielokątna struktura grafiki będzie bardziej szczegółowa. Nie zwiększa rozdzielczości tekstur ani nie poprawia płynności animacji. Krótko mówiąc, sprawi, że oświetlenie będzie wyglądało realistycznie i to wszystko.
Powyższe demo jest szczególnie dramatyczne, ponieważ twórcy wybrali postacie i środowiska, w których prawie każda powierzchnia albo świeci, albo odbija światło. Jeśli użyjesz tej samej technologii do renderowania, powiedzmy, bohateragonWiedźminjadąc na koniu przez wieś, nie zobaczysz żadnych powierzchni odbijających światło, z wyjątkiem jego miecza i być może trochę wody. Co najważniejsze, techniki ray tracingu nie zrobią wiele, aby poprawić renderowanie jego skóry, futra konia, skóry jego ubrań i tak dalej.
Nagłówki, które pochodziły z tej demonstracji, twierdzące, że zaowocuje to „grafiką przeboju filmowego”, były nieco hiperbolą – może to być prawdą, jeśli grasz na poziomie ustawionym w sali luster, ale to wszystko.
Kiedy zobaczę te rzeczy w moich grach?
Demonstracja GDC była przykładem zastrzeżonej techniki ray tracingu zwanej RTX, obecnie rozwijanej przez firmę NVIDIA. Ma zadebiutować w kolejnej serii wysokiej klasy kart graficznych GeForce, o których podobno ma zadebiutować jeszcze w tym roku z numerami modeli 20XX. Podobnie jak inne zastrzeżone technologie graficzne, takie jak PhysX firmy NVIDIA, prawdopodobnie nie będzie dostępna dla graczy korzystających z kart graficznych innych producentów.
To powiedziawszy, RTX korzysta również z nowej funkcji systemu DirectX API specjalnie do ray tracingu (zwanej raytracingiem przez Microsoft). Tak więc, podczas gdy powyższe wersje demonstracyjne są wynikiem współpracy firm Epic i NVIDIA, nic nie powstrzyma konkurencyjnych producentów, takich jak AMD i Intel, przed stworzeniem podobnych systemów z podobnymi wynikami.
Mówiąc prościej, zobaczysz, że wysokiej klasy gry komputerowe zaczną korzystać z tych technik pod koniec 2018 r. i na początku 2019 r. Gracze, którzy zainwestują w nowe karty graficzne w tym czasie, odniosą największe korzyści, ale jeśli już to masz wysokiej klasy system do gier, niektóre z tych efektów mogą być używane w grach zgodnych z DirectX na obecnym sprzęcie.
Ze względu na długi czas rozwoju i statyczne cele sprzętowe, gracze konsolowi nie zobaczą tej zaawansowanej grafiki, dopóki następna runda konsol do gier nie zostanie wydana za kilka lat.
Kredyt obrazu: NVIDIA, Epicka/YouTube, Guru3D/YouTube