Pokud se pohybujete v prostředí Windows a chcete vytvořit jakoukoli grafickou aplikací, máte k dispozici dvě možnosti. Jednou z těchto možnosti je sáhnout po nativním nástroji operačního systému Windows, pro práci s grafickými objekty, který se označuje jako GDI, nebo MCI (Media Control Interface).
Druhou možností je sáhnout po programovém rozhraní, které se označuje jako DirectX. Na úvod je třeba předeslat, že DirectX je mnohem robustnější a rychlejší než práce s výše zmiňovanými nativními nástroji Windows.
Při práci s DirectX jste sice poněkud svázání, jako programátoři, ale toto svázání není na škodu, spíše naopak. DirectX je systém utilit, který umožňuje jednoduchou práci s videem, audiem se vstupy a výstupy a v neposlední řadě umožňuje práci se síťovými komponenty.
Jak vlastně DirectX pracují? Velmi dobře. Vedle absolutní kontroly nad všemi hardwarovými zařízeními, optimalizují průběh zobrazené akce podle možností zařízení, na kterém daná je daná aplikace spuštěna.
Toto je způsobeno technologií označovanou jako Component Object Model (COM), které se budeme věnovat později. Komplexnost DirectX je zajištěna zejména výrobci hardwaru, kteří v drtivé většině případů, dodávají ke svým výrobkům (grafické, zvukové aj. karty), ovladače stavěné přímo na míru topologii DirectX. Toto bylo umožněno především politikou firmy Microsoft, který definoval soubor konvencí(funkce, proměnné struktura dat aj.), kterými se výrobci hardwarových zařízení řídí. Tím je zajištěna kompatibilita, ale zejména optimalizace, běhu těchto zařízení pod operačním systémem Windows.
Díky tomu se programátoři jakékoli aplikace, tvořené pod Windows, nemusí ohlížet na detailní vlastnosti hardwarových komponent. Jednoduše volají funkce pro práci s jednotlivými zařízeními, a o zbytek se postarají funkce pod DirectX bez ohledu na to jaký hardware bude daný program zpracovávat.
Vlastnosti DirectX
Samotné DirectX jsou tvořeny skupinou knihoven, kde každá obsahuje funkce pro práci s určitým hardwarovým nebo softwarovým zařízením.DirectDraw: Jedná se o ovladač hlavní zobrazovací jednotky. Základním stavebním prvkem se kterými DirectDraw pracují jsou plochy (surfaces). Tyto plochy slouží jako podklad pro umístění objektu, které se následně promítnou na obrazovku.
DirectSound: Jedná se o zvukovou komponentu DirectX, která podporuje digitální zvuk (ne midi). Tato knihovna umožňuje přehrání zvukového záznamu, nezávisle na druhu použité zvukové karty.
DirectSound3D: Jak už název napovídá, jedná se o 3D zvukovou součást DirectSound. Zodpovídá za ozvučující efekty, týkající se prostorového zvukového vjemu. Tato technologie je poměrně nová, ale velmi rychle se vyvíjí. V současné době kvalitnější zvukové karty, podporují 3D zvukové efekty včetně posunutí, pohlcení či odražení zvukové vlny apod.
DirectMusic: Jedná se o nejmladší komponentu v DirectX. Umožňuje technologii MIDI , kterou DirectSound nepodporoval. Podporuje DLS (Downloadable Sounds) systém, který umožňuje práci s digitálním zvukem, který má vlastnosti originálních instrumentálních nástrojů, jak ve formě MIDI, tak ve formě tzv. Wave Table syntetizéru. Zvukové vlastnosti takto zpracovaných tónů jsou k nerozeznání od tónů produkovaných skutečnými hudebními nástroji. Vedle toho DirectMusic obsahuje nový tzv. Performance engine, který je jistým typem umělé inteligence. Jedná se o systém, který umožňuje, v reálném čase, uskutečňovat změny ve vámi vytvořené hudbě, za současného běhu. To je síla viďte?
DirectInput: Tento systém zodpovídá za komunikaci se všemi vstupními zařízeními, jako je myš, klávesnice, joystick, space-balls a tak podobně. DirectInput v současné době podporuje i zpětnovazební aktivní zařízení, které jsou zodpovědná za převod elektrických měřicích zařízení do počítače, jako i za přenos fyzikálních vlastností do herního zařízení například takzvaný Force Feedback, zodpovědný za cukání joystiku a různé efekty při hraní her, je právě součásti DirectInput.
DirectPlay: Podporují síťové komponenty DirectX. Dovolují vytvořit abstraktní připojení užitím internetu, modemu, přímého připojení apod. Nejsilnější výhodou DirectPlay je možnost vytvoření síťového připojení, bez znalosti síťové architektury. Není třeba speciálních driverů nebo socketů. DirectPlay podporují možnosti propojení pomocí takzvaných sessions.
Direct3DRM: Jedná se o Direct3D Retained mód, který pracuje s trojrozměrnými objekty jako takovými. Využívá výhod 3D akcelerátorů. S výhodou se používá při tvorbě modelů, nebo různých prezentací.
Direct3DIM: Jedná se Direct3D Immediate móde, který pracuje na nejnižší vrstvě ovladačů. Práce na této vrstvě DirectX se blíží práci v OpenGL co se týče nepohodlnosti při vlastním programování. Jedná se o jednoduchý zobrazovací model, který pracuje pouze s primitivními objekty a jejich odvozeninami.
DirectSetup/Autoplay: Je dná se quasi (rádoby) DirectX komponentu, která dovoluje programům instalovat DirectX z vlastních aplikací na počítač uživatele a povolit spouštění určitých programů, pouze v případě, že se v CD mechanice nachází originální CD výrobce. DirectSetup je malá skupina funkcí, které jsou volány při běhu programu a které se zapisují do registru.


2012 ©