QUAKE II PATHTRACED, czyli Quake II z funkcją ray-tracingu

1

Grupa deweloperów udostępniła projekt o nazwie QUAKE II PATHTRACED lub Q2VKPT. Jest to silnik id Tech 2 z gry QUAKE II z 1997 roku, wzbogacony o ray-tracing. Innymi słowy, deweloperzy zaimplementowali w nim każde możliwe oświetlenie: bezpośrednie, rozproszone, odbite i załamane (direct, scattered, reflected and refracted). Warto nadmienić, że aby to osiągnąć skorzystano z interfejsu Vulkan oraz projektu Q2PRO.

Krótko o id Tech 2

Chciałbym tutaj krótki omówić silnik id Tech 2. Jego autorami byli deweloperzy John Carmack, John Cash, i Brian Hook. Silnik oferował pełną sprzętową obsługę grafiki, z wykorzystaniem OpenGL. Dodatkowo podzielono niektóre komponenty na dynamicznie ładowane biblioteki. Umożliwiło to niezależne ładowanie oraz odłączanie poszczególnych bibliotek. Dodatkowo silnik wykorzystywał tzw. Lightmapy. Były to prerenderowane powierzchnie map bitowych, zawierające różne poziomy jasności. Przechowywano je w pamięci podręcznej do późniejszego wykorzystania w konkretnych wirtualnych scenach.

A teraz troszkę o Q2VKPT

Q2VKPT jest to projekt autorstwa Christophera Schieda, napisany w celu potwierdzenia wyników badań nad grafiką komputerową w grze. Kod zawiera 12 tysięcy linii i zastępuje całkowicie oryginalne źródła gry Quake II. Jak wspomnieliśmy na początku, deweloperzy zaimplementowali w nim każde możliwe oświetlenie: bezpośrednie, rozproszone, odbite i załamane (direct, scattered, reflected and refracted). Prócz wspomnianego ray-traycingu, gra wykorzystuje także technikę adaptacyjnego filtrowania obrazów (an adaptive image filtering technique). Funkcja ta inteligentnie śledzi zmiany w oświetleniu sceny, aby móc wykorzystać te informacje przy następnym renderowaniu.

QUAKE II PATHTRACED, Q2VKPT

Jak widzimy na załączonym filmie tytuł wygląda nieprawdopodobnie. Nie jest to już tak ciemna plama, jaka była do tej pory. Wiele elementów jest teraz o wiele jaśniejszych, do tego dochodzą odbicia światła na żywo ze ścian i podłóg. Wystrzelony pocisk rozjaśnia powierzchnię, przelatując nad nią. Wybuchy robią dokładnie to samo.

Zespół deweloperów QUAKE II PATHTRACED wyjaśnia, że implementacja dużej liczby funkcji ray-tracingu była w miarę prosta. Wszystko dzięki znajomości silnika oraz samej gry. Co ciekawe, Christoph Schied dodaje, że gry takie jak Battlefield V wykorzystują jedynie cząstkę możliwości ray-tracingu. W dużej mierze nadal opierają się na rasteryzacji. Jest to spowodowane bardzo skomplikowaną budową i kwestiami wydajnościowymi.

QUAKE II PATHTRACED, Q2VKPT

Tutaj znajduje się instrukcja, wyjaśniająca jak uruchomić grę: http://brechpunkt.de/q2vkpt/.