„Staré hry byly nejlepší!“ Slyšíme to všude, sami to říkáme. Dneska už to prostě není ono. Sám Gelu dokonce nedávno připravil téma o svých oblíbených Heroes 3. Jestli ale skutečně starší hry lepší byly, nebo z nás jen mluví nostalgie, to je debata na jindy. Pravdou však je, že ta chuť si zhruba 20 let staré tituly zase zahrát a užít si je tu prostě nezaměnitelně existuje. Většina lidí ovšem dostane studenou sprchu, když si titul svého dětství zapnou a vidí, že nevypadá zdaleka tak dobře, jak si pamatovali. Růžové brýle a tak podobně, znáte to. S RTX Remix od Nvidie už to ale nemusí být nutně pravda.

O téhle vychytávce jsme mohli poprvé slyšet zhruba rok a půl zpátky. Sami jsme na to na Techfeedu dělali video. Nejvíce však technologie byla vidět v kontextu projektu Portal RTX. Remasteru slavné logické hry od Valve, který přidával nejen path-tracing – respektive lepší formu ray-tracingu – ale vylepšoval i různé modely, textury, celkové nasvícení a přidával podporu upscalovací technologie DLSS. Portal byl prvním projektem, který přímo fungoval na platformě RTX Remix. A ta se teď postupně dostává do rukou nás všech. Co to v teorii znamená? S remastery tisíců her se v dohledné době může roztrhnout pytel. Alespoň taková je vize. Pojďme se na to ovšem podívat postupně a říct si, co to ten RTX Remix vlastně je, jak funguje a také jaké jsou jeho limitace. Může sice přinést revoluci, ale učiní tak s notnou dávkou velkých ALE.

Tím nejzákladnějším je, že RTX Remix nefunguje na všech hrách. Týká se převážně těch, které vyšly někde mezi roky 2000 až 2005/6. To z toho důvodu, že tyto hry pracují na takzvané fixed-function pipelině. Zkuste si totiž renderování her představit jako montážní linku, na jejímž počátku máte jenom hrubá čísla a rozkazy, avšak na konci vyjede finální produkt. Dříve tak fixed-function pipelina – pojďme tomu od teď říkat FFP – fungovala pro vývojářské potřeby více než dobře. Kdykoliv přišla nová technologie nebo způsob, jak vyrenderování vylepšit, na tuhle montážní linku byl dosazen modul, který se přesně o tohle postaral. Z jednoduchých tvarů vznikaly komplexní modely, k jednoduchým texturám byly přidány další vrstvy třeba pro hrubost a hloubku, začalo se více dbát na světla i stíny… Zrovnatak ale FFP představovala problém v tom, že nebyla moc modulární. Tyhle kroky byly víceméně pevně dané; minimální modulárnost znamenala, že spousta vývojářů byla odkázaná na předem dané fungování a renderování, které jim nedovolovalo po technické a grafické stránce takříkajíc „vystoupit z řady“ tak moc, jak by chtěli. Zrovna tak jsou ale tyto předem dané kroky přesně to, co nám dnes dovoluje RTX Remix používat.

Tato technologie se totiž podívá na celou tu montážní linku a vhodí do ní další moduly, další kroky a další možnosti, které šly sice udělat i dříve, ale zkrátka na to nestačil hardware. Dnes už je tomu jinak. Celý proces vykreslování je možné doslova přeprogramovat a za běhu upravovat. Zlom v tomto ohledu nastal s příchodem takzvaných shaderů, tedy právě oněch programovatelných jednotek. Tím, že vykreslování už přestalo připomínat pevně daný výrobní proces, je prakticky nemožné do něj zasahovat. I tohle ovšem podléhalo evoluci a první dvě verze shaderů si stále dokáže RTX Remix jistým způsobem přebrat. Od určité chvíle už máme smůlu, a to konkrétně od přechodu na DirectX 9.0c, který vznikl v roce 2004 a přinesl třetí model shaderů.

Ideálními tituly na „zRemixování“ jsou tak hry s předem danou, jasnou a předvídatelnou cestou podobné řece. U některých titulů bude možné přidat vedlejší proud s realistickými odrazy, někde si budeme muset vystačit s potůčkem reálnějších materiálů a některé toky mohou být rozvodněné natolik, že na nich přehradu ani postavit nebudeme schopni. Některé hry tak fungovat mohou, některé napůl, jiné nemusí vůbec. A tím bychom měli tu základní technickou část za sebou a můžeme přejít do praxe. 

Kromě Portalu jsme mohli v akci vidět třeba remasterovanou verzi Half-Life 2. Už jen tyto dva projekty nám mohou krásné ukázat, co lze od RTX Remix v rukou lidí v dohledné době čekat. U Maxe Payna jsou výrazně vylepšená světla díky path-tracingu a texturám jsou dodány takzvané PBR, potažmo physically based rendering vrstvy. Ty vlastně určují, jak se má světlo vůči nim chovat. Jde tedy o odrazivost, průhlednost, hrubost, matnost a cokoliv, co zkrátka určuje reagování světla na libovolný materiál.

Half-Life 2 už je ve výrazně pokročilejší fázi vývoje a nejde pouze o světla, stíny a PBR textury. Zde přichází druhá polovina RTX Remix, a tím je asset replacement. Jinými slovy jdou vylepšovat i jednotlivé modely. V Half-Life 2 RTX tak můžeme vidět lepší modely třeba plechovek, ozubených kotoučů od pil a dalších věcí, které z tohoto modu efektivně dělají remaster.

Zde ovšem přichází další háček – tohle všechno na koleni neuděláte. RTX Remix vyžaduje čas, trpělivost a především nějaký ten technický a grafický know-how. Ale rozhodně to otevírá dveře novým talentům i fanouškům, kteří se chtějí o tom všem začít učit. Díky tomu může v následujících letech vzniknout nová generace grafiků a už jenom to si zaslouží palec nahoru.

Sami jsme se tak z pozice převážně technických lajků pokusili něco rychlého splácat dohromady. Abychom ale byli upřímní, tak s výraznými obtížemi. A výsledek vlastně za moc nestojí, což je převážně vina na naší straně. Takže… Není to moc, ale byla to poctivá práce. První na řadě byl výběr hry, takže jsme v podstatě okamžitě sáhli po Mafii, protože… Mafie. Následovalo překopírování RTX Runtime souborů ke hře a nainstalování wrapperu pro převod DirectX 8 na DirectX 9, který dokáže RTX Runtime injectnout. Pokud nerozumíte každému slovu, tak se nebojte a prostě si užívejte naši strastiplnou cestu.

Po nainstalování potřebných souborů následovalo spuštění hry, po kterém přišlo… víceméně nic. To je ovšem jakž takž správně. Už teď se snaží zmiňovaný runtime path-tracovat, co jen jde. V úvodním intru bez světla ale není co path-tracovat a v menu, které má světla zapečená, a tudíž tam ve skutečnosti nejsou, jakbysmet. V seznamu všech textur, které grafická karta aktuálně zachytává, tak musíme dosadit kontext k tomu, na co koukáme. Ne všechno je totiž fyzický objekt, na který má světlo doléhat. Nejzákladnějším příkladem jsou třeba prvky uživatelského rozhraní, které se mají vykreslovat v popředí obrazu bez ohledu na scénu v pozadí. Zde se tedy dostáváme do samotného nastavení runtimu a nutnosti u jednotlivých a nejklíčovějších textur určit, do jaké kategorie spadají. Takových kategorií přitom není málo. Jde třeba o oblohu, zapečená světla, světelné zdroje, particle efekty, tělo herní postavy a další. Tohle je část, která sama o sobě vyžaduje hodně času i znalostí. Z pohledu na samotnou texturu by vás totiž mnohdy nemuselo napadnout, že jde skutečně například o člověka.

Tím ovšem problém jen začíná. Po nějakém čase se nám povedlo alespoň oddělit položky menu a uživatelského rozhraní od objektů hry. Zde ovšem nastaly jiné problémy. Jako třeba to, že půlka modelů postrádala textury. S dalším experimentováním, které zahrnovalo hodiny vybírání textur a jejich přiřazování a zkoušení, co se chytne a nechytne, jsme se víceméně dostali do bodu, kdy bylo menu hry konečně vidět tak, jak mělo být.

Přichází tedy další bod. Můžeme konečně scénu vyfotit a zachytit do souboru s příponou USD všechna potřebná data pro další úpravy. USD je univerzální soubor, který dokáže pobrat několik programů a především RTX Remix jako takový. V něm tak konečně můžeme vytvořit projekt, najít naši uloženou scénu a užívat si toho… poloprázdného nic. Jo, absence textur a další problémy mají na svědomí to, že vyfocená scéna není kompletní. Pro teď se s tím však spokojím. Naštěstí i s částí scény lze přece jen pro ukázku něco udělat. Pojďme tak lampičce na stůl přidat žluté světlo a uvidíme, jak to bude vypadat ve hře.

Jak sami vidíte, perfektní to fakt není, ale funguje to! Zde by samozřejmě přišlo další trávení času vhod nad nejen tímto světlem. Změnit se dá nejen barva, ale i intenzita, tvar a další věci, které opět vyžadují čas, trpělivost, hodiny zkoušení a hlavně grafický cit.

Naše lampička konečně vyzařuje nějaké skutečné světlo, a tak je na čase se podívat na pár dalších úprav, které lze v RTX Remix dělat. Využil jsem ležících koltů na stole, abych je trochu vylepšil. Konkrétně jejich texturu. Tu jsem však nevylepšoval ručně. V RTX Remix je zabudovaná umělá upscalovací inteligence, která je schopná základní texturu pojmout a nejen se pokusit zvýšit její rozlišení, ale vytvořit i zmiňované PBR textury pro především hrubost a odrazivost. Textury lze samozřejmě řešit i dalšími způsoby, případně je přetvořit ručně, ale opět nám jde v tomto videu jenom o rychlou ukázku.

V případě koltů není rozdíl v kvalitě textur nijak zásadní, ale něco málo to přece jenom dělá. Vylepšit jsem se také pokusil texturu stolu, kde je vidět nedostatek zabudované umělé inteligence, která má problémy z nekvalitní textury vytáhnout něco výjimečného. Opět jde ale čistě o absenci kvalitnějších nástrojů v Remixu a lidského zásahu. Aby toho nicméně nebylo málo, do třetice jsem zkusil ještě změnit objekt. Konkrétně klíč, který leží vedle pistolí, jsem nahradil citronem. Jenom tak, protože můžu.

Výsledkem je scéna, která vykazuje více než velké množství problémů, ale snad jasně poukazuje nejen na to, co RTX Remix skutečně zvládne, jakmile je mu věnován čas, ale i s jakými problémy se může potýkat.

Tohle jsou však věci, které zkušenější modeři a grafici ve svých projektech vyřeší. RTX Remix také cílí na komunitní tvorbu a do procesu vývoje grafických remasterů se může vložit spousta lidí. To zejména díky oficiální spolupráci s webem ModDB. Ten totiž nabízí oficiální databázi nejen konfiguračních souborů pro RTX Runtime, ale také třeba vyfocené scény a v budoucnu nebudou chybět i assety nebo celé modifikační soubory pro jednoduchou instalaci koncovým hráčem.

Abych byl upřímný, otestoval jsem hned několik různých her. Každá měla různé výsledky od těch, kdy se titul ani nepustil, po ty, kdy to vypadalo nadějně. Nikdy jsem však nedosáhl bodu, který bych označil za perfektní. Může za to moje technická ignorace? Zcela určitě. Ale vina není pouze na mé straně. RTX Remix se stále nachází v betě. V době experimentování konkrétně ve verzi 0.4 a do budoucna nás mají čekat další snahy o větší kompatibilitu a odstranění zásadních nedostatků. Jak tedy padlo, realita je zkrátka taková, že je na všechno potřeba know-how a čas. Ideálně jsou potřeba celé týmy lidí s grafickými znalostmi, které se budou remasterům jedné hry věnovat dny, týdny či měsíce a zasahovat do souborů i dalšími způsoby. Pokud takový čas dotyční mít budou, dočkáme se i pořádných výsledků. To krásně dokazuje třeba projekt OpenLara s podporou RTX Remix nebo první Max Payne. A řada dalších nadšenců, kteří na Discordu sdílí své poznatky a výtvory.

RTX Remix je bezesporu něco, co může v dohledné době přinést pořádné ovoce, byť se v některých ohledech nejspíš nikdy nevyrovná oficiálním remasterům. To zejména z toho důvodu, že je do jisté míry RTX Remix stále jakýsi glorifikovaný filtr, který pouze na to, co vidíte, hází záplatu. Neřeší logiku hry, kompatibilitu, skripty, engine a změněné modely třeba mají původní hit-boxy, takže i ty se musí držet co nejvíce původní podoby. Přesto jde o věc, kterou se vyplatí do budoucna sledovat.