Slepice, nebo vejce?

Historie DirectXPočátky DirectX se dají přirovnat ke známé otázce: Co bylo dříve, slepice, nebo vejce? V našem pří...


Historie DirectXPočátky DirectX se dají přirovnat ke známé otázce: Co bylo
dříve, slepice, nebo vejce? V našem případě je odpověď jasná: Nejprve byly
počítačové hry.V první polovině 90. let se začaly hodně rozšiřovat domácí
počítače PC AT. Přitom motorem této exploze byly právě počítačové hry. Několik
let byl doménou her systém MS-DOS a nic nenasvědčovalo tomu, že by se situace
měla změnit.
Milníkem byl konec roku 1995, kdy Microsoft uvedl na trh Windows 95. Přestože
se firma od počátku snažila o to, aby budoucí hry vznikaly právě pro Windows
95, vývojáři a především hráči měli proti tomuto operačnímu systému nemalý
odpor. Hry zde byly totiž pomalé a velmi náročné na velikost paměti (hra v
"oknech" běžně vyžadovala dvojnásobnou paměť než tatáž hra v DOSu). Největší
potíže byly však s obrazem, který často blikal; a byl to vůbec krok zpět,
protože ve Windows nešlo měnit rozlišení a další nastavení grafické karty tak,
jak tomu bylo zvykem dříve v DOSu. Systém MS-DOS se obecně považoval za ideální
pro tvorbu her, protože vlastně sám systém nic nedělal, takže programátory ani
nijak neomezoval. Potíže nastaly v situaci, kdy se na trhu objevily nové, lepší
grafické a zvukové karty, které neměly jednotnou architekturu, a autoři her tak
vlastně museli programovat každou věc několikrát, pro každou kartu zvlášť.
Microsoft se samozřejmě snažil tyto potíže nějak řešit. Již v době Windows 3.1
byla k dispozici knihovna WinG, která nabízela funkce pro práci s 2D grafikou a
barvami a byla znatelně (až násobně) rychlejší než běžné funkce Windows API.
Ani tato knihovna ovšem svými možnostmi MS-DOSu konkurovat nemohla. Ve Windows
95 se WinG stalo přímo součástí multimediální části Win32 API. Přestože
vývojáři Windows 95 tvrdě pracovali na optimalizaci GDI (Graphics Device
Interface), výsledek byl pořád daleko od očekávání firem herního průmyslu.
Počátky byly těžké
DirectX přišlo s Windows 95. Microsoft představil zcela novou architekturu,
která byla sice začleněna přímo do Win32 API, avšak poněkud neobvyklým, možná
až experimentálním způsobem. Funkce DirectX totiž aplikace volají přes COM
rozhraní, což bylo až donedávna ve Win32 API dosti neobvyklé. Přitom
několikaletá praxe ukázala, že toto odvážné řešení bylo velmi šťastné.
První reakce odborné veřejnosti na DirectX byly spíše rozpačité. Dnes, s
odstupem několika let, lze říci, že architektura DirectX byla od počátku
zdařilá, problémem byly spíše chyby, jak je ostatně u toho systému zvykem. Ano,
chyby na každém kroku. Kamenem úrazu je především fakt, že DirectX potřebovalo
nové drivery hardwarových zařízení a v nich se objevilo nečekané množství
problémů.
V roce 1996 se začaly objevovat první hry postavené na DirectX, avšak výsledky
byly velice špatné a mnoho výrobců vůbec DirectX nezačalo používat. Hodně se
mluvilo o tom, že těch několik velkých herních producentů (v čele s Electronic
Arts) se rozhodlo pro Windows 95 a DirectX jen kvůli tajným "černým dohodám" s
Microsoftem. To se samozřejmě nikdy neprokázalo a dnes je to už v podstatě
jedno, protože rozhraní DirectX od té doby urazilo velký kus cesty. Microsoft
se totiž nevzdával a tvrdě pracoval jak na DirectX samotném, tak na
zdokonalování ovladačů, především co se týče grafických karet.
Masové nasazení
Během následujícího roku 1997 došlo k masovému nasazení DirectX. Po odstranění
všudypřítomných chyb a dořešení menších problémů už tomuto rozhraní nestálo nic
v cestě. Vzhledem k velmi rychlému rozvoji tohoto multimediálního API (Windows
2000 se prodává s DirectX 7 a dnes už je verze 7a) se není čemu divit, že se
jeho využití dnes vůbec neomezuje jen na počítačové hry.
Spojitost DirectX s herním průmyslem dříve velmi odrazovala jeho potenciální
uživatele v oblasti "opravdových" programů. Microsoft se ovšem za své herní
rozhraní vůbec nestyděl a všechna multimediální rozšíření, se kterými se v
poslední době roztrhl pytel, jsou dnes výhradně postavena na bázi DirectX nebo
jsou přímo jeho součástí. Právě z toho důvodu se DirectX 3 dostalo také do
staršího systému Windows NT.
DirectX dává aplikacím především možnost plně využít schopnosti hardwaru, což
nikdy před tím nebylo možné. Dnes je zvykem, že i ty nejmodernější
multimediální technologie, které jsou určeny pro masové nasazení na PC AT, jsou
vybaveny ovladači DirectX a tam, kde současná verze DirectX nestačí, se ihned
začne pracovat na rozšířeních pro verzi novou.
Přitom základní pravidla programování ve víceúlohových systémech jsou
zachována, a to bezvýhradně. To mj. znamená, že aplikace nikdy nekomunikuje
přímo s počítačovým železem a komunikační protokol je nezávislý na konkrétní
implementaci hardwaru.
Pro úplnost je třeba dodat ještě jméno určitě nejpoužívanějšího programu
využívajícího DirectX. To jméno je Internet Explorer.
Akcelerátory
Akcelerované grafické karty byly na trhu už před Windows 95 a měly původně
sloužit ke zrychlení základních operací s obrazovkou, jako např. kreslení
kurzoru myši nebo mazání obrazovky. Dnešní akcelerátory slouží spíše pro
rychlejší a kvalitnější vykreslování 3D scény.
Vzhledem k velkému rozšíření hardwarových audio/video "akcelerátorů" v poslední
době nabízí DirectX přímé využití jejich služeb pomocí rozhraní Direct3D. Navíc
je zajištěna softwarová simulace tam, kde dané zařízení postrádá určitou
podmnožinu funkcí. Tím se tedy výrazně zjednodušují aplikace, protože mohou
implementovat pouze jeden kód, který potom běží za pomoci DirectX na každém
počítači.
V této souvislosti je třeba vzpomenout také Microsoft OpenGL, které není
součástí DirectX, ale existuje paralelně s ním ve Win32 API.
0 1833 / alsnNovinky v Directx 7.0
Oproti verzi 6.1, která je v dnešní době asi nejpoužívanější, došlo k několika
zásadním změnám, zejména v oblasti 3D grafiky, zvuku a výkonu. Mezi ty největší
patří:
Vylepšená podpora pro hardwarové akcelerátory zejména v oblasti transformací a
osvětlování, což dovoluje uvolnit procesor pro další potřebné úkoly, jako jsou
různé herní vypočty a umělá inteligence.
Lepší mapování textur, které umožní vytvářet efekty nerozeznatelné od
skutečnosti, jako např. odrazy ve vodě nebo průchod světla barevným sklem.
Zrychlení běhu oproti předchozí verzi až o 20 %.
Vylepšené zvukové efekty díky nově použitému softwarovému algoritmu pro 3D zvuk
a také v důsledku lepší flexibility při využívání hardwarových mixovacích
možností.
Podpora hardwarové akcelerace u zvukových karet pro rozhraní DirectMusic.
Podpora nové generace wave table syntetizátorů, které podporují standard DLS 2.
Poprvé dochází k přímé podpoře API pro vývojáře v jazyce Visual Basic.









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.