DirectX aneb CoToKČertuVlastněJe?

DirectX. Je všude. Všichni ho chtějí mít. Byl tu odjakživa? Ne? Co to vlastně je a proč vůbec existuje? Je pro vás důležité mít poslední verzi? A co je na nejnovějším DirectX 9 vlastně nového? To všechno teď zjistíte a nakonec se můžete pokochat obrázky, které na vašem monitoru vyloudí karty s podporou DirectX 9.

DirectX je softwarový balík, který přijali herní vývojáři i výrobci hardwaru jako standard. Kdyby ho nebylo, tak by každý tvůrčí tým trávil mnohem více času laděním hry pro různé typy počítačů, než výrobou hry samotné.

Pro nás jako uživatele softwaru to znamená výhodu v tom smyslu, že máme mnohem více her, videa a hudby, kterou můžeme jednoduše spustit na svém počítači. Bez DirectX či jiného standardizovaného rozhraní poskytujícího tyto funkce, by dnešní herní svět nebyl určitě tak rozmanitý.

Jak to všechno začalo...

Před mnoha a mnoha roky, za sedmi lesy a dvanácti  ostnatými dráty, žilo bylo mnoho výrobců počítačového hardwaru i softwaru. (U nás tehdy vyráběli počítače pouze družstevníci ze Slušovic). Každý z výrobců počítačových komponent si vyráběl součástky na svém písečku a neexistovalo mnoho standardů, podle kterých by se musel řídit. Pokud tedy chtěl programátor naprogramovat hru, neměl žádnou záruku, ze jeho hra pojede i na jinak sestaveném počítači.

Pak se společnost IBM rozhodla, že v rámci konkurenčního boje s firmou APPLE zveřejní veškeré dokumentace svého IBM PC. Nu a jak se rozhodla, tak také učinila. Sice si tím konkurenci na hardwarovém poli, ale zase zvýšil celkový podíl IBM PC kompatibilních na trhu. Trh s PC rostl a stával se tak lákavější pro stále více výrobců.

Takže na trhu se objevilo mnoho druhů kompatibilního hardwaru, ovšem pro jejich výrobu jen málo jednotných pravidel. Ani program, který by byl schopen komunikovat s každým z nich zatím neexistoval. Proto existovaly tisícovky různých knihoven a ovladačů, které poskytovaly programům různé informace Jak se zařízením komunikovat či jak z něj vyždímat vše co umí. Pokud jste se někdy pokoušeli spustit různé hry v DOSu, víte co mám na mysli. Bylo nutno nastavovat spoustu věcí od zvukových karet přes správu paměti a později i CD-ROM či myš.

Nové horizonty skrz WOKNA

Změna nastala až s příchodem Windows. Pokud byly všechny potřebné komponenty v systému dobře nainstalovány, pak šla hra programovaná pro toto prostředí spustit hned po jednoduché instalaci. Ovšem Microsoft na rozdíl od IBM kompletní dokumentaci k windows dosud nezveřejnil, takže hry se stále programovaly s různými odchylkami. A protože programy musí v prostředí windows dodržovat určité procedury a pravidla, spolupráce některých her s Windows dala spojení „stabilita systému“ zcela nový význam. Hry i Windows samotné prostě padaly jako zralé hrušky.

Proto dali soudruzi v Microsoftu hlavy dohromady a přišli s DirectX. Tato součást systému Windows slouží jako mezistupeň mezi programem a použitým hardwarem. Tvůrci her mají k dispozici kompletní specifikaci k DirectX, takže můžou programovat hry přímo pro něj a nemusejí přemýšlet, jestli to poběží na každém počítači. Výrobci herního hardware, kteří vyrábějí komponenty pro PC (potažmo pak Windows) sledují vývoj DirectX a přizpůsobují své produkty jeho specifikacím. Někdy dohání DirectX také technický vývoj, jako například vloni na podzim u grafických karet. Kdy nové karty podporující zveřejněné specifikace DirectX 9 byly na trhu již před jeho vydáním.

DirectX má pro každou skupinu zařízení vlastní sadu instrukcí. K čemu slouží např. Direct3D nebo DirectSound poznáte určitě sami. Kromě vnitřních součástí počítače DirectX komunikuje samozřejmě i periferiemi jako klávesnice, myši, různé joysticky, gamepady, a volanty. Mnohé z nich podporují i technologie zpětného rázu (Force Feed-back), které s vámi třesou a vy se pak cítíte jako opravdový závodník nebo pilot. K obrazu a zvuku se tak připojuje další rozměr virtuálního světa.

 DirectX řídí také přístupy k multi-player a on-line hraní, poskytuje kontrolu nad mnoha multimediálními formáty, funkcemi mixování, samplování a výstupu hudby i zvuků. Záleží tedy plně na vývojářích, jak využijí potenciál, který jim DirectX poskytuje.

S čím přichází nový DirectX 9.0?

DirectX 9 přináší nejvíce vylepšení ve své části DirectGraphic, která kombinuje původní DirectDraw a Direct 3D do jednotného aplikačního programového rozhraní (API).

API – Application Program Interface. Nazývají se tak soubory  programů, knihoven a rutin, které slouží k programování aplikací. API soubory obsahují definice obecně používaných, zejména ovládacích prvků (okénka, menu), způsob komunikace s uživatelem či perifériemi.

DirectShow přichází s novým modulem pro stříhání a renderování videa – VMR9. Ten používá D3D9 povrchy a vždy renderuje video přes 3D pipeline jednotku.

Asi nejočekávanější součástí nového DirectX 9 je podpora nových pixel a vertex shaderů verze 2.0. DX9 ovšem neobsahuje jen jednu, ale hned tři sady těchto instrukcí, každou pro jiný vývojový stupeň karet.

Shadery

  • 2.0 – základní sada pixel a vertex shaderů se základními vlastnostmi
  • 2.0+ – vylepšená sada 2.0 s pokročilejšími funkcemi
  • 3.0 – „supersada“ prvních dvou verzí s dalšími funkcemi. Pro tyto funkce dosud neexistuje žádný funkční hardware a jsou určeny pro další generaci grafických karet.

Shadery – jsou  vlastně krátké programy, které umožňují vývojářům vytvářet grafické efekty. Vertexové shadery pracují s geometrií 3D světa, kdežto pixelové shadery manipulují s barvou jednotlivých bodů (pixelů). Společně tvoří výkonný nástroj, který dovoluje programátorům vytvořit různorodé efekty a vytvořit co nejvíce reálný 3D vzhled.

Důležitou novinkou u DirectX 9 je také podpora nového HLSL (High Level Shading Language) shaderovacího programovacího jazyka. Ten má přinést jednodušší způsob tvorby a zlepšené definování vlastností pixel i vertex shaderů. Kód HLSL se podobá více jazyku C než původní programovací kód, jež charakterizoval DirectX 8.0 a 8.1.

Rozdíl mezi DX 8.1 a DX 9 není zatím tak citelný, jako byl např. při změně z DirectX 6 na 7, kdy se zásadně změnil celý D3D T&L Engine a také vznikl hardwarově akcelerovaný T&L. Všechny změny mezi DX 8.1 a 9.0 tedy nepocítíme, dokud se na trh nedostanou hry využívající sofistikovanější kód nových pixel a vertex shaderů.

Výkon...

Pokud doufáte, že po nainstalování DirectX 9.0 poběží vaše hry rychleji, níže uvedený graf vás asi nepotěší. Význam DX 9.0 je spíše v nových funkcích, které ocení majitelé nejnovějších karet. Ve výkonu byl výsledek v 3D Marku s DX 9.0 lepší jen u testu se zapnutým čtyřnásobným antialiasingem (4xAA). Rozdíl činil však jen 4,1%, takže k přílišnému nadšení není důvod. V ostatních testech byly výsledky srovnatelné s DX 8.1 a to bez většího rozdílu v použitých ovladačích.

DirectX 9

Testovací sestava:

  • Hercules 3D Prophet Radeon 9700 PRO 128 MB
  • Intel Pentium 4  na 2,53GHz (533 FSB)
  • základní deska Intel 850EMV2
  • 512 MB  RDRAM PC800
  • Seagate 40GB 7200rpm
  • Windows XP Pro se SP1

... a krása k nezaplacení

No a nakonec to nejlepší, tedy screenshoty vyprodukované za spolupráce Radeonu 9700 PRO (tentokrát od Sapphiru) DirectX 9.0 a ovladačů Catalyst 3.1.

Nejdříve několik obrázků z ještě čerstvého Unrealu 2.

DirectX 9 DirectX 9

Věřili byste, že od vzniku původního Unrealu uplynulo už pět let? Ovšem i první díl Unrealu bylo mistrovské dílo, je tady prostě na co navazovat.

DirectX 9 DirectX 9

V závěrečných screenshotech z 3DMarku 2003 uvidíte, čeho jsou karty podporující DirectX 9 schopné.

DirectX 9 DirectX 9 DirectX 9

DirectX 9 DirectX 9 DirectX 9

Nu a to je...

DirectX 9

Diskuze (6) Další článek: V kůži piráta v beta demu hry Tropico 2

Témata článku: , , , ,