3DMark05 přichází... aneb oči pro pláč
Světlo světa spatřila nová verze již pověstného benchmarku 3DMark honosící se číselným označením 05. Stejně jak tomu bylo s náročností jeho předchůdce v době uvedení, tak i nyní si pro patřičně svižný chod budeme muset nějakou tu chvíli počkat. Současné "mainstreamové" grafické karty (a celkově HW konfigurace) víceméně splňují minimální požadavky pro samotný průběh testů. Ani na dnešních top modelech se však nedočkáte zcela hladkého chodu, na což jsme už samozřejmě u vydání nové verze 3DMarku zvyklí. Pojďme se tedy podívat, jakou grafickou podívanou na naše monitory přináší.
Aby měl nový 3DMark vůbec smysl, je třeba do něj zahrnout nové funkce tak, aby byly co nejlépe využívány moderní grafické karty (aby nebyly naopak nějakým způsobem znevýhodňovány) a víceméně aby zde byla i jistá příprava na karty nadcházející.
Velkou novinkou je přechod na pokročilé Shader Modely 2a, 2b a 3.0, včetně Higher Level Shader Language (HLSL). HLSL je vyspělý jazyk pro programování Pixel Shaderů popř. Vertex Shaderů. Tento jazyk je velmi podobný například jazyku C. Vtip je totiž v tom, že programátor vytvoří pro každou verzi SM vlastní kód a následně při běhu 3DMarku05 je v závislosti na HW (verzi SM) vybrán takový, aby mu grafická karta rozuměla (samozřejmě čím vyšší verzi SM zvládá, tím lépe). Díky tomu tak lze mít na kartách rozdílných generací (s podpory různých verzí SM) také mírně odlišnou kvalitu obrazu, jelikož 3DMark05 je nyní co nejvíce optimalizován na konkrétní typ grafické karty jež máte v počítači stejně jako hry. Díky tomu by tento nový 3DMarku měl odpovídat reálným požadavkům her mnohem více než jeho předchozí poněkud "syntetické" verze. Na jednu stranu to je obrovský skok kupředu pro programátory a vývojáře her, ale na druhou to přináší větší zátěž pro procesor. Samozřejmě toto není výmysl společnosti Futuremark, ta ho jen využila ve snaze přiblížit se budoucím hrám (ty jistě HLSL budou využívat prakticky pořád).
Další novinkou je přechod na jiný renderovací engine. 3DMark03 používal pro Gametest 2, 3 a Ragtroll svůj vlastní engine, který neměl příliš mnoho společného s moderními herními enginy nasazovanými v praxi. V tomto ohledu je 3DMark05 daleko blíže hráčskému světu, využívá totiž engine jež ho s oblibou u Futuremark nazývají "game like engine". Ten totiž využívá daleko více procesoru k přípravě a optimalizaci scény. Ovšem nepočítá například AI, dynamiku atd.
V době Dooma 3 a jeho "Stencil Shadow" přichází Futuremark s velmi významnou novinkou kterou jsou tzv. "Perspective Shadow". Princip je jednoduchý: scéna je vyrenderována z pohledu (ve směru) světla (stejně tomu je i u Projected Shadowmap), ale v tomto případě je pro každý texel uložena i jeho z-ová hloubka. To má za následek, že není nutno vybírat polygony, které vrhají stíny a tím je velmi usnadněno procesoru. Tato metoda neochuzuje ani Self-Shadow. Jen pro úplnost připomenu teorii Stencil Shadow. Od světla jsou "vyslány" polygony, které procházejí hranou objektu, který má vrhat stín. Tento polygon končí až na poslední ploše ve scéně (za ní už žádná v daném směru není). Tato je aplikováno na všechny potřebné hrany daného objektu, výsledkem je uzavřená plocha, která je následně opatřena barvou (tím vznikne samotný stín, barva je samozřejmě patřičně průhledná).
Herní testy
Předem chci upozornit, že následující obrázky s popisy efektů jsou převzaty z "Whitepapers" 3DMarku05. Pokud jste je již někde viděli, tak vězte, že je mají také odtamtud.
Return To Proxycon
První herní testjiž svým názvem napovídá o co v něm půjde. Respektive napoví příbuznost s druhým gametestem z 3DMark03, kde jsme byli svědky obrany vesmírné stanice. Nyní budeme na stanici vyloděni společně s útočníky a také se s nimi probijeme skrz obranu. Po technologické stránce je zde hojně využíván efekt
Blinn-Phongreflection (měkké odrazy), jelikož většinu povrchů na stanici tvoří kov, na kterém se světlo tímto způsobem odráží. Množství světelných zdrojů (od stropu) v hangáru generuje dynamické stíny za použití map v rozlišení 2048x2048 (což není zrovna málo). Ovšem nelekejte se. Ne všechna světla jsou definována tímto stylem. Například malá bodová světla osvětlující koridor vrhají stíny za použití map 512x512x6.
Samozřejmostí je využití efektu Bloom, který znáte již z 3dmark03. Per-Pixel Specular map (neboli mapa odrazu světla) je také hojně využívána (když se nad tím tak zamyslím, tak pouze jediný Bloom efekt je navíc oproti Doomovi 3, jen jsou zde textury a modely daleko složitější).
Firefly Forest
V druhém herním testu zabrousíme do temného lesa, kterým nás bude doprovázet jakási světluška. Zde je materiál země stejný jako v případě Game Test 1, povrch kamene využívá Specular mapu a listy stromů jsou bez bumpmapy (jde o materiál, který je použit na kovy v Game Testu 1, ale tentokrát bez Specular mapy).
Měsíc generuje dynamické stíny za použití mapy s rozlišením 2048x2048 a světluška vrhá stíny v rozlišení 512x512x6. Použitá je také prostorová mlha. Tento test nenechá na pokoji ani Vertex-Shader jednotku. Větévky stromečků se hýbou a to včetně jehličí.
Canyon Flight
Poslední herní test je opět nejnáročnější. Impozantní "souboj" vodní příšery se vzducholodí v naprosto úchvatné grafice vám zatají dech (tedy aspoň určitě ozvučená a prodloužená verze v demu). Veškeré materiály jsou renderovány pomocí PS 2.0 a lepších. Materiál skály je složen ze dvou map určující barvu, dvou normálových map a Lambertian diffuse shading (jeho teorii zde nebudu sáhodlouze popisovat a uvedu jen, že se hodí na materiály, které nejsou zrovna dvakrát lesklé - např. látka, kůže atd.).
Voda je také velká lahůdka. K dosažení kýženého výsledku musí být scéna renderována 6x.
Oproti 3DMarku03 byla také přidána "mlha", neboli útlum vzhledem k hloubce (mase) vody.
Osvětlení má pro jistotu dvě mapy pro stíny. Jednu (2048x2048) pro objekty vzdálené od kamery (skály atd.) a druhou (také 2048x2048) pro detailní záběry mořské potvůrky. A jako u předchozího testu má obloha "Procedural light scattering".
V předchozí verzi 3DMarku byl použit frame-based rendering, který zaručoval objektivnější výsledky i na slabších kartách. V 3DMarku05 je možné zapnout jak frame-based rendering, tak time-based rendering (bohužel však ve volně dostupné verzi nic nastavit nelze).
Vysvětlivky:
Time-based rendering:Jde o klasický rendering co se používá ve hrách. Rychlost průběhu benchmarku je závislá na čase, takže pokud karta nestíhá renderovat některé snímky (framy), tak jsou prostě a jednoduše vynechány.
Frame-based rendering:
Oproti Time-based nedochází k výpadku snímků (framů), což zaručuje větší objektivnost testu (karta například nepřeskočí náročné pasáže).
Pokud tedy zvolíte tento způsob renderování, tak se může stát, že na slabších strojích bude 3DMark05 běžet opravdu dlouho.