Hejtujesz DLSS 5? Spoko, ale najpierw może ogarnij, o co chodzi
Do sieci wyciekły biblioteki Nvidia DLSS 5, a moderzy – jak to oni – musieli wrzucić będące w fazie testowej biblioteki wszędzie, gdzie się da. Efekt dla producenta jest niestety opłakany, bo na technologię maszynowego upiększania obrazu ze strony graczy, obawiających się o utratę artystycznego pierwiastka poszczególnych gier, wylewa się fala hejtu. Powiem tak: spokojnie, kosy na sztorc zdążycie jeszcze postawić. Najpierw przeanalizujmy technikalia.
Dla tych, co nie wiedzą do końca, co się w ogóle dzieje, krótkie streszczenie. Deweloper NBA 2K27 się zapomniał i wrzucił do gry biblioteki datowanego dopiero na jesień DLSS 5. Czym jest ów bajer, zasadniczo dokładnie tym samym co dotychczas, czyli skalerem obrazu, który wykorzystuje sieć neuronową, by „zgadywać” brakujące piksele. W ten sposób gry mogą być renderowane wewnętrznie w niższej rozdzielczości, np. 1440p, po czym skalowane do wyższej, choćby 4K. I przeważnie wygląda to o niebo lepiej niż klasyczne algorytmy skalowania przez rozciąganie czy uśrednienie koloru. Awantura nie dotyczy jednak podbijania rozdzielczości, lecz upiększania obrazu. Ale jak to upiększania? – ktoś zapyta. Ano ludzie z Nvidii wymyślili sobie, że skoro i tak tworzą w ramkach dodatkowe piksele, to zrobią je w dodatku tak, by dodać szczegóły nieobecne w oryginale. Częściowo, bo sprawa jest bardziej skomplikowana, ale o tym za moment. Zacznijmy od podstaw.
Na start – bezsensowne nazewnictwo
Nową funkcję nazwano – moim zdaniem – bez sensu, a mianowicie renderowanie neuronowe (ang. neural rendering – NR). A bez sensu dlatego, że w modelu NR działa już podstawowy DLSS, wszak również wykorzystuje uczenie maszynowe do rekonstrukcji i reinterpretacji obrazu. W gruncie rzeczy chodzi natomiast o dwa konkretne algorytmy, neuronalne pole promieniowania (ang. neural radiance fields – NeRF) oraz rozprysk Gaussa (ang. gaussian splatting – 3DGS). To właśnie ich implementacja odpowiada za filmowy i miejscami aż nienaturalnie ostry wygląd twarzy bohaterów, porównywany przez wściekłych graczy do AI slopu. Przy czym, co nadaje sprawie pewnej ironii, ten drugi z wymienionych sieci neuronowej nie potrzebuje.
Generalnie oba algorytmy są tylko kolejnymi narzędziami w rękach twórców. Że obecnie użyte w myśl założeń jednej, testowej biblioteki, to istotnie dające powtarzalny efekt, ale to tylko przykład, nie reguła. Niemniej, aby to wyjaśnić, musimy przejść na grunt trochę bardziej techniczny. Postaram się pisać w sposób maksymalnie uproszczony, ale jak coś, nie wstydźcie się dopytywać w sekcji komentarzy poniżej. Tak czy siak, jedziemy z tym.
W świecie funkcji matematycznych
Zacznijmy od NeRF, bo ten jest – patrząc na gry jako dzieła artystyczne – trochę bardziej kontrowersyjny niż 3DGS. Otóż traktuje obraz jako ciągłą funkcję matematyczną. Programista musi wprowadzić współrzędne w przestrzeni (x, y, z) oraz zdefiniować kąt patrzenia kamery, a w zamian sieć zwraca mu kolor w skali RGB oraz gęstość objętościową, czyli mówiąc po chłopsku, jaki to jest dokładnie materiał – mgła, powietrze itd. Chwilka, znaczy twarz bohatera może stać się kartoflem? Nie może, bo uzyskany efekt za każdym razem porównywany jest do zdjęcia, a jeśli wystąpi zbyt duży błąd (różnica koloru) to waga sieci neuronowej zostaje poprawiona, aby kolejna próba dała wynik bliższy prawdzie. Czym zaś jest sama waga, łatwo wyjaśnić na przykładzie królika. Wyobraźcie sobie sieć mającą ustalić, czy dane zdjęcie przedstawia to właśnie zwierzę. Jeśli wykryte zostaną długie uszy, takie połączenie zyska wagę wysoką, ale już trąba – wprost przeciwnie. Sieć zatem, metodą prób i błędów, przekłada fotografię na grafikę 3D.
O tym, że tworzenie gier na bazie realnych zdjęć, nie jest niczym nowym, raczej nikogo uświadamiać nie trzeba. Już w 2017 roku polski akcyjniak Get Even korzystał z tzw. fotogrametrii, czyli generowania na podstawie zdjęć siatki, po czym nakładania ich jako tekstury. Miejscami tę technikę wykorzystano choćby także w Resident Evil VII oraz Forzie Horizon. Różnica na dobrą sprawę jest taka, że NeRF – z uwagi na wykorzystanie sieci neuronowej – zadowala się mniejszą liczbą fotek na wejściu. Ale obie techniki mają i wady, i zalety. Technika fotogrametrii nie radzi sobie z powierzchniami błyszczącymi, NeRF z kolei niejako zamraża ujęcia, a w wygenerowanych ramkach ciężko sterować oświetleniem czy animacją. W dodatku jest to algorytm piekielnie zasobożerny, ale dlatego Nvidia stworzyła Instant NGP, wariant NeRF, który zamiast pytać o wszystko od zera, zapisuje strukturę przestrzeni. Ostatecznie zamysł pozostaje taki, by – na przykładzie gry Control – zebrać kilkadziesiąt zdjęć aktorki Courtney Hope, wcielającej się w Jesse Faden, po czym idealnie odwzorować w grafice jej rysy, odcień skóry czy fizykę światła padającego na twarz w poszczególnych scenach.
Oczywiście fotografowanym obiektem nie musi być twarz aktorki, może być ławka w parku. Ale czy takie rozwiązanie może zadziałać, gdy model trenowano na fotkach koszykarzy z NBA 2K27 – może. Efekt będzie jednak bardzo generyczny i powieli stylistykę produkcji Visual Concepts. Zresztą, widzicie to teraz po setkach bardzo podobnych do siebie modów, ale nie takie jest założenie. Jasne, pewnie jakiś tryb uniwersalny się pojawi, do wymuszenia przez chętnych poprzez panel sterownika, ale to nie ma nic wspólnego z docelową implementacją. Zakładając, że w ogóle Instant NGP trafi do graczy, bo spadek liczby klatek na RTX 5070 Ti o 50% mówi sam za siebie, jak optymalna jest to koncepcja.
Gaussian Splatting to nawet nie jest AI
Przechodząc do Gaussian Splatting, rzecz robi się o tyle ciekawa, że to właściwie nie jest AI, lecz kolejna technika renderowania. I de facto gwóźdź programu, choć na razie jakby pomijany. Zamiast budować klasyczną siatkę z trójkątów, wystarczy – ponownie – zrobić serię zdjęć. Specjalny algorytm analizuje kadry, określając przy tym kąt umieszczenia obiektywu i tworząc rzadką chmurę punktów w kluczowych miejscach. Dalej punkty te zamieniane są na gaussy, czyli rozmyte plamy na wzór psiknięć farbą w sprayu. Znając pozycję w przestrzeni (x, y, z), rozmiar i kształt, kolor a także kąt patrzenia, GPU może tworzyć modele 3D i porównywać je tak długo ze zdjęciami, aż efekt stanie się zadowalający. Jako że plamy są obiektami czysto matematycznymi, nowoczesne karty graficzne mogą wypluwać je z niewyobrażalną szybkością, a sieć neuronowa jest zbędna – wystarczy plik z danymi o plamach. Względem klasycznych systemów cząsteczkowych, generowanie takich efektów jak dym czy mgła odbywa się znacznie, znacznie wydajniej. Tymczasem sam 3DGS to coś, z czego od paru lat do tworzenia efektów specjalnych korzysta branża filmowa. Śmiem wątpić, czy cierpi na tym jej oryginalność. Jeśli filmy są na jedno kopyto, to nie z winy efektów.
Oczywiście raz jeszcze pojawia się obawa, że ktoś stworzy pakiet efektów gotowych, których pięciu innych powieli w swych produkcjach, ale to już dzieje się w segmencie gier od lat. Są paczki assetów do Unreal Engine czy Unity, środowiska programistyczne z kompletnymi binarkami jak Gameworks SDK, a nawet całe szkielety dla gier konkretnego gatunku. Z tej perspektywy, zabawy z Gaussem nie wnoszą niczego, czego byśmy nie znali, więc i DLSS 5 niczego nowego w kwestiach projektowych nie wniesie. Co zabawne, na przełomie lat 80. i 90., gdy szlaki przecierała grafika poligonalna, również obawiano się, że skoro wszystko będzie budowane z trójkątów lub czworokątów, to będzie wyglądać tak samo. Jak się tego rodzaju przewidywania sprawdziły, sami możecie ocenić.
W każdym razie, żebyśmy mieli jasność, Nvidia wraz z DLSS 5 tak naprawdę nie wdraża niczego szalonego. Wprowadza – tylko i aż – kolejne, nowoczesne techniki renderowania. W jaki sposób będą one użyte przez branżę gier, to sprawa otwarta. Pewne gotowe elementy na bank się pojawią, bo pojawiają się już teraz i nie potrzeba do tego AI ani enigmatycznych nazw. Inna sprawa, że Gaussian Splatting wspiera już Unreal Engine 5, a do tego spory poklask – z racji efektownej grafiki – uzyskała ostatnio przeglądarkowa strzelanka stworzona w tej technice. Bladego pojęcia nie mam, czemu akurat DLSS 5 spotyka się z ostracyzmem.
Przeczytaj również
Komentarze (9)
SORTUJ OD: Najnowszych / Najstarszych / Popularnych