Hlavní navigace

Co je to DirectX?

Instalujete ke svým oblíbeným hrám i DirectX a nevíte, na co to potřebujete? Slýcháte od svých kamarádů, že vyšla nová verze DirectX, ale nevíte, co to znamená a v čem je lepší, než ta předešlá? Pak se podívejte do článku.
Martin Zachar 15. 4. 2010

Sdílet

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.

 

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.

 

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.

 

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.

 

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ě.

Autor článku

Něco jsme propásli?

Dejte nám vědět. Upozornit redakci Stahuj
Velice děkujeme za Vaše podněty