Demo Wolfenstein 3D z ray tracingiem wygląda intrygująco

Maksym SłomskiSkomentuj
Demo Wolfenstein 3D z ray tracingiem wygląda intrygująco
Ray tracing, czyli technologia śledzenia promieni zaprezentowana wraz z kartami Nvidia RTX, zmienia oświetlenie w grach nie do poznania. Kompleksowo prezentowaliśmy jej działanie m.in. we wpisie dotyczącym Wolfenstein: Youngblood, ale wspominaliśmy także o tym jak mocno wpłynęła ona na zmianę wyglądu Minecrafta. Teraz za sprawą jednego z programistów możemy zobaczyć jak z ray tracingiem prezentowałby się Wolfenstein 3D.

Za stworzenie dema Wolfensteina 3D z ray tracingiem odpowiedzialny jest Holender przedstawiający się jako Reinder. Stworzył on własny hybrydowy silnik przy wykorzystaniu WebGL1, w którym wyrenderował fragment poziomu kultowej gry. W niewielkim pomieszczeniu umieścił dwie kule – jedna z nich jest źródłem światła, druga światło odbija.

„Problemem w bardziej złożonym środowisku jest to, że wciąż musiałem móc prześledzić scenę w czasie rzeczywistym. Normalnie ograniczająca hierarchia woluminów (BVH) byłaby używana jako struktura przyspieszenia, w celu usprawnienia procesu śledzenia promieni, ale moja decyzja o stworzeniu projektu w WebGL1 nie pomogła. W WebGL1 nie jest możliwe przesyłanie 16-bitowych danych do tekstury i nie można używać operacji binarnych w module cieniującym. Utrudnia to wstępne obliczanie i użycie BVH w modułach cieniujących WebGL1”, tłumaczy autor.

„Właśnie dlatego zdecydowałem się użyć poziomu 3D Wolfensteina do teg dema. W 2013 roku stworzyłem już jeden moduł cieniujący fragmenty WebGL na Shadertoy, który nie tylko renderuje poziom podobny do Wolfensteina, ale także tworzy proceduralnie wszystkie potrzebne tekstury. Na podstawie tego doświadczenia wiedziałem, że oparty na siatce projekt Wolfensteina może być również użyty jako szybka i prosta struktura przyspieszenia, a śledzenie promieni przez tę strukturę będzie szybkie”, konkluduje.

Opisywane tutaj demo możecie wypróbować poniżej, w iframe lub na dedykowanej stronie.

Suwaki w prawym górnym rogu ekranu pozwolą Wam zmienić wiele ustawień, m.in. następującą po sobie liczbę symulowanych odbić, mocno wpływającą na liczbę generowanych klatek na sekundę.

Co ciekawe, oryginalny Wolfenstein 3D nie był tak naprawdę grą w pełni trójwymiarową, a grą w „udawanym” trójwymiarze. Dzięki technice ray castingu (to uproszczona wersja ray tracingu!) renderowana była płaska, dwuwymiarowa mapa, ze złudzeniem efektów głębii i perspektywy, wynikającym z różnych wysokości rysowanych pionowych linii.

Źródło: reindernijhoff

Udostępnij

Maksym SłomskiZ dziennikarstwem technologicznym związany od 2009 roku, z nowymi technologiami od dzieciństwa. Pamięta pakiety internetowe TP i granie z kumplami w kafejkach internetowych. Obecnie newsman, tester oraz "ten od TikToka". Miłośnik ulepszania swojego desktopa, czochrania kotów, Mazdy MX-5 i aktywnego uprawiania sportu. Wyznawca filozofii xD.