DirectX v kostce

DirectXDneska se podíváme, co to vlastně je ten DirectX, zhlédneme co mají na starosti jednotlivé komponenty, a na závěr jako třešničku si dáme DXDIAG.

<script type='text/javascript'></script>


Když se řekne pojem "DirectX", většině hráčů nebo i programátorů se vybaví grafické enginy, kterými se firma Microsoft proslavila. DirectX je však více: je to rozhraní mezi hardwarem (grafickými kartami, zvukovými kartami, joysticky, myšmi, klávesnicemi, gamepady apod.) a softwarem (konkrétně Windows), které má usnadňovat programátorům přístup k jejich funkcím a umožnit využití jejich možností na 100%. Šíří se jako jediný balík zvaný DirectX, avšak skládá se z několika částí, které jsou pro programátory rozděleny podle účelu:

• Direct Graphics (2 části)
o Direct Draw (Rozhraní pro programování 2D grafiky (dvourozměrné).)
o Direct 3D (Rozhraní pro programování 3D grafiky (trojrozměrné).)

• Direct Input (Zajišťuje podporu všech "vstupních" zařízení jako jsou klávesnice, myši, gamepady, joysticky atp.)

• Direct Play (Slouží k přenášení dat kabelem, komunikaci po síti – tzv. Multiplayer (hra více hráčů přes více počítačů).)

• Direct Sound (Podpora nahrávání a přehrávání zvuků.)

• Direct Music (Slouží k přehrávání a zpracování (úpravu) hudby.)

• Direct Show (Zajišťuje podporu přehrávání, zpracování videa a zvuku, a také celkovou podporu multimediálních aplikací.)

• Direct Setup (Nástroj, který umožní instalaci balíku DirectX na váš počítač.)

• Direct X Media Object (Podpora tvoření kodeků, multimediálních efektů atp.)

Stejně jako každá jiná počítačová utilita i DirectX prošel již určitým vývojem a dále se rozvíjí. Úplný počátek sahá do roku 1995, kdy byl vydán DirectX 1.0. Současné verze DirectX, a to k dnešnímu datu 14. dubna 2009, jsou pro Windows Vista DirectX 10 a pro Windows XP DirectX 9.0c.

Ovšem DirectX, co se týče hardwaru, má jen omezenou podporu – jsou výrobci (jako nVidia nebo Creative), kteří vsadili na hardwarovou kompatibilitu s DirectX, ale jiní výrobci vsadili spíše na hardwarovou kompatibilitu s OpenGL, které se drží těsně za DirectXem. Tato kompatibilita (nebo spíš nekompatibilita) některých karet může způsobit značné problémy, se kterými vám samozřejmě na naší poradně rádi poradíme.

S DirectX souvisí také nástroj pro jeho diagnostiku. Chcete-li se do něj dostat (ať už na systému Vista nebo XP), tak na panelu Start klikneme na ikonu Spustit – po ní nám naskočí tabulka, do které napíšeme do kolonky otevřít "DXDIAG" (bez uvozovek).

Start - Spustit

Poté klikneme na OK – výsledkem bude, že se nám otevře nástroj pro diagnostiku rozhraní DirectX.

DxDiag

Najdeme zde všechny možné informace od komponentů v PC až k připojeným zařízením (klávesnicím, myším, ale i zvukovým zařízením, grafickým kartám apod.). Mimo jiné zde najdeme verzi systému a verzi DirectX. Asi poslední funkcí, o které bych se chtěl dnes zmínit, je schopnost DXDIAGu zapsat všechna získaná data pomocí pár kliknutí do *.txt souboru. Stačí na záložce Systém kliknout na Uložit všechny informace, zvolit umístění, kam chcete soubor *.txt uložit, pojmenovat ho a kliknout na Uložit.

Odkaz pro stáhnutí DirectX na váš PC je

Obrázek uživatele Tomáš Bohuněk

Docela mě zaujala ta možnost uložení dat.. pokud člvěk ví, co hledá, je to docela užitečný diagnostický nástroj, srovnatelný v této oplasti i s Everestem.. možná i pro laiky jednodušší takovýto výpis opatřit a ten kdo to bdue potřebovat (rádce na poradně) tam najde vše potřebné..

Obrázek uživatele TheALuminium
[1183] Podpora?

Dá se někde zjistit jací výrobci upřednostňují DirectX před kupříkladu tím OpenGL ? ... Taky by mě pak zajímalo, protože jsem se nikdy o DX nezajímal, jakým způsobem programátor může DX využít. Pokud bychom programovali například ovladače pro určité zařízení tak bychom použili základní programovací jazyk - Assembler. Mě by tedy zajímalo, jestli je DX tak chytrý a dokáže komunikovat s jakýmkoliv zařízení v PC i když pro něj nemá ovladače.

Obrázek uživatele Jiří Moos
[1184] RE: DX

DirectX se používá při programování her kupříkladu. Využívají ho programovací jazyky jako knihovnu - určitě s ním pracuje Cčko, C++, nejspíš i Java. Kamarád programuje v Cčku jednoduché hry, tak právě DX využívá a nemůže si ho vynachválit.

Děkuji mnohokrát autorovi za tento článek, myslím, že se rozvine dlouhá diskuze na toto téma :-).

Obrázek uživatele Zbeny

Jen chci dodat že DX 10 je i pro Win XP (používám ho už od března)

Obrázek uživatele Tomáš Bohuněk

Jen chci dodat, že DX 10 NENÍ pro Win XP (těžko ho používáš od března)
Opravdu, XPéčka jsou dělaná tuplně jinak a dosti zastarale, Microsoft je stahuje (stahnul) z prodeje tak proč by se zabýval optimalizací DX 10 pro XP? nejen, žeby to bylo náročné, ale i zbytečné.. DX 10 podporují jen novější grafiky a ty novější grafiky jsou standardně už v kompech s Vistama..
Bylo by to skvělé, ale bohužel XPéčka nikdy DX 10 podporovat nebudou, protože nemůžou. Nejvyšší verzi, kterou XPéčka umí je DX 9.0c

Obrázek uživatele Jiří Molnár

Je to i není pravda. Jistá mutace DX10 na Windows XP skutečně na internetu je (jakási alpha verze). Na Microsoftu je dokonce dostupný jakýsi SDK balíček, který se možná tímto zabývá také, ale s jistotou to tvrdit nemohu. Každopádně oficiální balíček DX10 pro Win. XP jsem na internetu nenalezl. Většinou se jedná o odkazy na internetové úschovny dat.

Ať už tak nebo tak, standard a "recommend" pro operační systém Windows XP je doporučován (a nejen námi na PCP) DirectX 9.0c. Jedná se o stabilní a podporovaný balíček. Pokud se na to podíváme i trochu z jiného pohledu, není se čemu divit; Win. XP jsou již pro Microsoft mrtvým systémem. Podpora se staršími verzemi OS se tak jeví jako zbytečná. Proto doporučuji využít odkazu v článku, který odkazuje na balíček, který automaticky detekuje operační systém a nainstaluje, popřípadě aktualizuje, některé důležité knihovny tohoto rozhraní...