Nové techdemo od AMD HK2207 Mecha Rampage je v tomto ohledu výjimkou a za to sklízí jednu kritiku za druhou ze všech stran.
Jen to, že si Igor Staněk na svém kanálu na Twitteru posteskl, že je z nového dema AMD zklamaný, protože vypadá jako z dob DirectX 8/9, stačilo k tomu, že svět obletěla zprávička, že se Nvidia novému demu AMD vysmívá.
V rychlosti se teda podíváme na to, jestli je obrazová kvalita opravdu odpovídá úrovni her pro DirectX 8/9 a jaké technologie nové demo vlastně předvádí.
Od her pro DirectX 8 se Mecha Rampage liší už základem, na kterém je demo postavené. Pro osvícení scény využívá tzv. deferred shading (či deferred lightning). U něj se stínování scény počítá v několika samostatných krocích, výsledky se ukládají do bufferů (G-buffer s barvou odraženého světla, Z-buffer s hloubkou objektů a normálový G-buffer, do kterého se ukládá detailní stínování povrchu objektů) a výsledný obraz vznikne jejich složením. Tato technika najde uplatnění zejména v temném (nočním) prostředí nasvíceném umělým osvětlením s velkým počtem světel – typickým zástupcem je třeba Metro 2033.
V demu je využita řada moderních technologií a post-processing efektů. Většinu z nich lze za pomocí klávesových zkratek vypínat, zapínat nebo přepínat na některou z možností – rychlou nápovědu zobrazíte přímo v demu přes F1.
Co se pod jednotlivými funkcemi ukrývá je patrné z následujících snímků:
F - Lens flares je notoricky známý a již po léta používaný efekt „hvězdiček“, který simuluje jev, který vzniká při snímání světla přes optické čočky.
zobrazit originál | zobrazit originál
W - Wireframe mode – co je režim Wireframe asi není zapotřebí komentovat, snad jen dodám, že i v tomto režimu je možné přepínat mezi jednotlivými debug režimy scény a měnit tak stínování drátěného modelu.
zobrazit originál | zobrazit originál
8 – AP (Aerial Perspective/atmospheric) – atmosférické efekty, nejblíže to má asi k tomu, co nazýváme světelným smogem, – jde o oranžový závoj, který je v noci vidět nad každým osvětleným městem
zobrazit originál | zobrazit originál
9 – Reflection – zapíná a vypíná odrazy a odlesky na materiálech
zobrazit originál | zobrazit originál
E – Emissive – zapíná a vypíná rozptýlené světlo kolem světelných zdrojů
zobrazit originál | zobrazit originál
D – Depth-of-field – zapíná a vypíná efekt hloubky ostrosti, prvek, který je převzatý z filmového průmyslu
zobrazit originál | zobrazit originál
G – Ghosting – simuluje další z efektů, který vzniká při snímání obrazu přes čočky
zobrazit originál | zobrazit originál
K – simple LUT – zapíná a vypíná zjednodušenou převodní (zobrazovací či vyhledávací) tabulku, kterou se upravují barvy ve scéně
zobrazit originál | zobrazit originál
, (čárka) – je–li LUT povolená, přepíná mezi několika verzemi LUT a mění barevnost scény
T, Y(Z) – přepíná mezi jednotlivými debug režimy a postupně zobrazuje jednotlivé pixelové mapy (color, normal, ambient occlusion, emissive, standard), jež se skládají do výsledné scény, na kterou se následně aplikují další efekty
Pro zajímavost jsem i zkusmo navrstvil tyto čtyři pracovní mapy přes sebe (s nutnou úpravou barevnosti u některých z nich) a dostal jsem následující výsledek, který vypadá možná dokonce lépe, než scéna následně vylepšená post processingem:
L – Lights – zapíná schématické znázornění světel. A že jich je opravdu dost.
zobrazit originál | zobrazit originál
1 - Bullet Physics debug, 2 - Bullet physics collision – zobrazení bounding boxů (nejmenší obálka objektů, kterou se pro zjednodušení tělesa nahrazují pro výpočty fyziky, zejména kolizí objektů).
A další klávesové zkratky pro ovládání dema:
- M – zapnout/vypnout zvuk
- C – odemknout/zamknout kameru. Po odemčení se můžete po scéně volně pohybovat pomocí myši (s levým tlačítkem pro přesun, kolečkem se zoomuje, pohybovat se dá i pomocí kurzorových šipek).
- Esc – konec
- P – pauza (můžete si všimnout, že některé částicové efekty běží dál, i když je jinak scéna zmražená)
- ] („ú“), [ („)“) – skok na předchozí a další scénu
- R – Restart dema
Na rozdíl od „fotorealistických“ dem, jako byla třeba hlava představená s GeForce 8800 GTX či demo Ladybug s beruškou, které se objevilo s Radeony HD 5000, je výsledný obraz velmi podobný letitým hrám z nočního prostředí. Oproti starším hrám se ale řada efektů počítá v reálném čase, zatímco dříve šlo o objekty s předem vypočítanými mapami a texturami. A přibyly i prvky, které v DirectX 8 s určitostí nenajdete – například náročná Ambient Occlussion, technika pro simulaci nasvícení scény rozptýleným světlem, která se u her začala používat až po příchodu grafik s podporou DirectX 10 (a zpětně i u her pro DX9). Bohužel pro toto demo je to jedna z technik, která přináší nejlepší výsledky za „denního“ světla a u tmavých scénách není její vliv tolik vidět (obdobně tomu ostatně bylo třeba ve hře Alien vs. Predator).
Výsledek bohužel není příliš efektní a obraz se topí v nerealistické záplavě odlesků, korón, rozptýleného světla a barevného smogu. Po tom, co vývojáři předváděli na demech s denním osvětlením v nedávné minulosti, nemůže ukázka v podobném duchu laickou veřejnost nadchnout, přesto ale stále dobře plní neméně zajímavý a možná ještě důležitější účel – jednotlivé technologie a jejich implementaci představuje a předvádí i herním vývojářům.
Zklamáním je i absence náročnější teselace (a možná dokonce i teselace jako takové). I ve videu z prezentace dema při uvedení Radeonů HD 6800 je teselace zmíněná jen okrajově a v souvislosti s generováním trosek ve scénách, které ve veřejné verzi dema nejsou.
Zarážející je i forma prezentace Bullet physics – dá se předpokládat, že pokud by fyziku počítal grafický čip, někdo by se tím pochlubil. Podle toho, že v tomto případě jakákoliv zmínka o výpočtech přes GPU schází a simulace fyziky vypadá ve srovnání s tím, co běžně vídáme ve hrách (či nedejbože v demech na PhysX), docela primitivně, bych si troufal odhadnout, že je Bullet do dema přilepený dodatečně a výpočty neběží na grafice, ale čistě na procesoru.
Neubráním se ještě srovnání s „nekonečným“ demem Endless City od Nvidie, které je laděné v podobném duchu. Už u něj si spousta lidí posteskla, že nejsou provedením zrovna nadšení. A to vypadá na pohled lépe a podstatně náročněji než nové demo od AMD. Používá se více světel (údajně kolem pěti set tisíc) a náročná teselace, u které už není struktura povrchu simulovaná pomocí normálových map podobně jako u AMD, ale počítá se přímo na detailních meshích a celá scéna má podstatně více polygonů.
S výkonem vaší sestavy se můžete pochlubit ve speciálním vlákně na fóru, které je tomuto techdemu věnované.