Mnozí uživatelé znají pojem DirectX jen jako něco, co potřebují mít nainstalováno pro hraní svých oblíbených her. Avšak k čemu je to potřeba nebo proč je u nových her vyžadována novější verze? Na tyto otázky si zkusíme zodpovědět v průběhu článku.

 <p> </p>

Jedna z prvních ukázek tehdy nejrealističtější syntézy vodní hladiny. Vše je vytvořeno v DirectX 4.0. Zdroj obrázku.

Počátky

Stejně jako jakákoliv jiná technologie, i DirectX má své začátky. Ty pocházejí z dob vydání operačního systému Microsoft Windows 95. Tehdy psali herní vývojáři hry pro MS-DOS, kde přímo ovládali hardware, který jim byl DOSem svěřen. Windows 95 měly ošetřený model paměti, takže nebyl možný přímý přístup k hardwaru, což herní vývojáři ale potřebovali.

Zase na druhou stranu s rozvojem domácích počítačů a jejich rozšířením k více uživatelům docházelo k vývoji nového hardwaru. Tím se ztížila práce vývojářům, kteří se museli zabývat více komunikací aplikace (hry) s různým hardwarem než samotnou logikou či vzhledem hry.

Microsoft si tehdy uvědomil, že tohle budoucnost určitě není a tak přišel s nápadem vytvořit kolekci dynamických knihoven (DLL), které by poskytovaly aplikační rozhraní a umožňovaly vývojářům psát pouze jeden typ komunikace. Tyto knihovny by se pak staraly o překlad příkazů do formy srozumitelné hardwaru. Přímou komunikaci s hardwarem pak zařizovali výrobci tohoto hardwaru, kteří vytvářeli ovladače (tzv. drivery).

Tuto komunikaci si můžete představit jako rozhovor dvou lidí v jiném jazyce, kdy si k sobě přizvou překladatele, který zprostředkovává překlad z jednoho jazyku do druhého a zpět. Oproti DOSu je tedy ten rozdíl, že vývojáři neovládají přímo hardware, ale dopomáhá jim k tomu operační systém.

 <p> </p>

Ukázka nastavení upravené hry Wolfenstein 3D.

Verze

Jako například operační systém Windows, i DirectX mají své verze. V dnešní době je aktuální verzí DirectX 11, ale začínalo se hezky od začátku. Verze číslo 1 se objevila, jak většina asi už tuší, ve Windows 95 a měla jen málo toho, co obsahuje ta dnešní. Dělila se na několik částí, jakými byly DirectDraw, DirectSound a DirectInput. Každá část umožňovala jiné funkce - jedna se starala o vykreslování 2D grafiky, druhá o zvuky a třetí o vstup (klávesnice či myš). Kompletně se celý balík označoval jako DirectX, kde X značí libovolnou část.

Postupem času verze přibalovali další části, jako například Direct3D sloužící pro 3D grafiku nebo DirectPlay pro síťovou komunikaci a tedy multi-playerové hraní.

Každá verze byla vylepšením té poslední a tak postupně jednotlivé verze přinášely například vykreslování čar, polygonů, přidávání světel, pohybování kamery, realističtější syntézu vody, animace až postupně k dnešním super efektům (jakými je teselace), jaké ve hrách můžete vidět.

Vývojáři her samozřejmě využívají těchto nových možností a vylepšení pro programování lepších a realističtějších her. Proto novější hry vyžadují novější verze DirectX.

 <p> </p>

Rozdíl DirectX 9 a DirectX 10. Zdroj obrázku.

Co potřebujete mít pro běh?

A co potřebujete mít, pokud chcete spustit například hru v režimu DirectX 11? V první řadě potřebujete mít grafickou kartu, která danou verzi DirectX podporuje. O ní se většinou dozvíte například na stránkách výrobce. Dále potřebujete operační systém, který tuto verzi umožňuje využívat (například DirectX 11 umí využívat Windows 7 a Windows Vista se Service packem). Pak musíte mít nainstalovány ovladače a nakonec ještě samotný software DirectX 11. Pak už konečně lze nainstalovat hru s tímto režimem a užívat si efektů, které nabízí.

 

S čím přichází poslední verze?

Poslední verze DirectX 11 je již v počítačové sféře delší dobu. Pro ty, kteří pořád ještě nevědí, v čem je lepší než její předchůdci, zde shrneme základní rysy.

Prvním a nejznámějším je zřejmě tzv. teselace, která umožňuje generovat komplikovanější modely s daleko více vrcholy a tím pádem detaily. Přitom se na grafickou kartu posílá pouze několik málo vrcholů a ostatní jsou dopočítány přímo na ní. Navíc se jedná o systém, který dovoluje měnit měřítko, takže můžete udávat přímo úroveň teselace. To znamená, že když se budete přibližovat k objektu, bude se měnit zobrazování detailů na něm od žádných až po maximální.

Dalším vylepšením je možnost lépe pracovat s tzv. GPGPU. To značí všeobecné používání GPU, nejen pro hry a multimediální aplikace. Jedná se o použití v počítačovém vidění při segmentaci dat, při rozpoznávání řeči, ale například i v kryptografii, počítačových databázích nebo finančnictví.

Posledním předním rysem nejnovější verze je multithreading. Jedná se o využívání CPU pro sekundární výpočty grafiky. Procesory nejsou sice příliš uzpůsobeny na takové výpočty, ale i tak jde o zrychlení.

Dalšími efekty jsou například hloubka ostrosti, lepší zpracování složitější průhlednosti nebo lepší měkké stíny.

 <p> </p>

Ukázka teselace. Vlevo vypnutá, vpravo zapnutá. Zdroj obrázku.

Závěr

Rozhraní DirectX se stalo nedílnou součástí života hráčů počítačových her, ale také uživatelů multimediálních aplikací a v brzké době bude zasahovat i do nejrůznějších dalších oblastí využívajících počítačů (viz. GPGPU). Snad každý uživatel systému Windows má DirectX ve svém počítači nainstalovány a udržuje si jejich aktuální verzi.

Od základů, kdy obsahovaly pouze několik málo částí a dokázaly zobrazit jednoduchou 2D grafiku, se vypracovaly přes postupné vylepšování 3D grafiky, zvuků, hudby, vstupních zařízení až do systému, který umožňuje vytvářet téměř realistické simulace zobrazované v reálném čase.

Jejich vývoj určitě nekončí a my se můžeme již teď těšit na možnosti a efekty, s jakými přijdou příště.