DirectX
From Wikipedia, the free encyclopedia
Remove ads
A DirectX (továbbiakban DX) a Microsoft cég egyik csomagja a Windows operációs rendszerhez. Tipikusan multimédiás alkalmazások használják: játékok, média lejátszók és ehhez hasonló programok. Népszerűségét többek között annak köszönheti, hogy már a Windows 95-től kezdődően a DX a Windows rendszer szerves része.
Ezt a szócikket némileg át kellene dolgozni, hogy megfeleljen a Wikipédia cikkszerkezetre vonatkozó követelményeinek. |
A programozó szempontjából a DX jelentősen megkönnyíti a munkát, hiszen nem csak hogy nem kell egy-egy programnál az alapoktól indulnia, hanem lehetőséget biztosít arra is, hogy hardverfüggetlen programot írjon.
Remove ads
Felépítése
A DX több ezer API függvényt definiál, amiket az alkotók kisebb modulokra bontottak aszerint, hogy mi a feladatuk. A rendszer a Microsoft COM technológiáját alkalmazza.
- DirectGraphics: a DX kilences verziójában egyesítették a rendszer két elemét:
- DirectDraw: a kétdimenziós grafikáért felelős
- Direct3D: a háromdimenziós megjelenítésért felelős
- DirectInput: a bemeneti eszközöket kezeli: a billentyűzetet, egeret, gamepad-ot, és minden más elképzelhető perifériát is
- DirectMusic: feladata a zenelejátszás; például játékokban a háttérzenét a DirectMusic szolgáltathatja
- DirectSound: hanglejátszás és felvétel a feladata
- DirectPlay: a hálózati kommunikációt egyszerűsíti le. A nyolcas verzióban jelent meg
- DirectShow: multimédiás anyagok megjelenítését végzi, a legtöbb lejátszó program ezt használja
- DirectSetup: a DirectX API összetevőinek telepítéséhez szükséges
Remove ads
Története

fut Windows 95 / DirectX 1.0 alatt
A kilencvenes évek közepén megjelent Windows 95 új korszakot nyitott a számítástechnika történetében. Hiába az újdonság, egy hatalmas problémával szembesültek a Microsoft fejlesztői. A probléma az volt, hogy míg a valós módban futó DOS lehetővé tette a hardver közvetlen elérését, és ezzel iszonyú gyors programok elkészítését, addig a védett módú Windows kernel kisajátította magának az erőforrások kezelését, és egy teljesen egységesített kezelőfelületet (Windows API) biztosított a felhasználói programok számára.
A Windows API tehát lehetővé tette, hogy hardverfüggetlen programokat lehessen írni, a gyakorlatban viszont hamarosan kiderült, hogy az egységesítés bizony jelentősen csökkenti a rendszer teljesítményét. A Microsoftnál így rájöttek, hogy a programozóknak szükségük van arra, hogy továbbra is közvetlenül hozzáférhessenek a hardverhez, de nem akarták feladni a védett mód előnyeit. Már csak pár hónap volt hátra a bemutatóig, amikor is megszületett a DX elődje, a Windows Games SDK.
A DirectX gyorsan fejlődött, és hamarosan megjelent a Direct3D. A fejlesztők így egy alternatívát kínáltak az addig a 3D-s grafikában egyedülálló OpenGL-nek. (A Windows NT már a kezdetektől támogatta az OGL-t). A DirectX és az OpenGL versenye egyébként a Microsoft üzletpolitikájának a tipikus példája. Az OpenGL egy több platformos gyűjtemény, a DX azonban csak Windows rendszereken fut.
A DX-nek volt egy hatalmas előnye nyílt társával szemben: az Open GL „csak” grafikai támogatást nyújt, a DirectX viszont a multimédia minden területén (A beviteltől a hangokon, és hálózaton át a megjelenítésig) támogatást nyújt.
Az első DirectX, amely támogatja pixel és vertex shadereket, a DirectX 8. A DirectX 9 támogatja a vertex és pixel shaderek második generációját, 2004-től pedig már a 3.x-es shadergeneráció is támogatva van (DirectX 9.c).
A DirectX az évek során többször is jelentős változásokon esett át.
- DirectX 5 A DirectX lemaradásait igyekeztek pótolni vele, az OpenGL tükrében.
- DirectX 6 Az első DirectX, amely támogatja a multitextúrázást.
- DirectX 7 A DirectX 6 kibővített változata, melyben lehetőség van arra, hogy a fénykezelést és a transzformálást hardveresen gyorsíthassa a grafikus kártya (T&L).
- DirectX 8 Az első DirectX, amely támogatja a shadereket.
- DirectX 9 Ebben a verzióban egyesítették a programozók a korábban különálló DirectShow és Direct3D komponenseket. Ezek után a két egység feladatát a (kibővített) Direct3D látta el.
- DirectX 10 Többek között a Windows Vista-ban megjelent új drivermodell miatt a DirectX maga is számos újítást hozott magával. Ezek nem csak új képességeket, de szerkezeti változásokat is jelentettek. XP-re nem jelent meg, ez a verzió nem terjedt el.
- DirectX 11 A Windows 7-tel együtt jelent meg, a célja a DirectX 10 leváltása. Néhány modern, AAA kategóriás számítógépes játék használja. Széles körben idáig nem terjedt el, tekintve, hogy bonyolult, mert kizárólag shader alapokon vezérelhető, és nem támogatja az XP-t.
- DirectX 12 A Windows 10-hez készült, de a játékfejlesztők lehetőséget kapnak DirectX 12 futtatásra Windows 7 környezetben is. A World of Warcraft: Battle for Azeroth volt az első játék Windows 7 alatt, ami DirectX 12-ben futott.
Verziói
1995 | DirectX 1 |
---|---|
1996 | DirectX 2 |
DirectX 3 | |
1997 | DirectX 5 |
1998 | DirectX 6 |
1999 | DirectX 7 |
2000 | DirectX 8 |
2001 | |
2002 | DirectX 9 |
2003 | |
2004 | |
2005 | |
2006 | DirectX 10 |
2007 | |
2008 | |
2009 | DirectX 11 |
2010 | |
2011 | |
2012 | |
2013 | |
2014 | |
2015 | DirectX 12 |
Remove ads
Összetevői
Direct3D
A DX talán legismertebb eleme. Rengeteg Windows rendszerre írt játék ezt a 3D-s függvénykönyvtárat használja. A DirectX 10-től kezdve elhagyták a fixed-function felépítést, a grafika renderelése shadereken keresztül lehetséges, hasonlóan az OpenGL ES2-höz.
A Direct3D használata három alapvető lépésre bontható:
- Előkészítés
- Megjelenítés
- Transzformációk
- Renderelés
- Lezárás
Az első lépésben a program csatlakozik a Direct3D rendszerhez, beállítja a képernyő tulajdonságait és elvégzi az alkalmazásspecifikus feladatokat is. A második és a harmadik lépés általában egy ciklusban ismétlődik a program futása során.[1]
DirectShow
A DirectShow a DX multimédiás tartalmak megjelenítéséért felelős komponense. Működése hihetetlenül egyszerű. A rendszer egy ún. szűrő-gráfot (FilterGraph) épít fel, a lejátszás során pedig átbocsátja az adatokat ezen a struktúrán. Főleg videólejátszó programok használják, a helyét már átvették más technológiák.
DirectDraw
A DirectX kétdimenziós megjelenítését végezte, így a szövegek megjelenítését vagy a képek kirajzolását. A DirectX 8-tól kezdődően már nincs külön DirectDraw, integrálták a Direct 3D rendszerbe. Főleg régebbi 2D-s játékszoftverek használják.
DirectInput
A beviteli eszközök (billentyűzet, egér, játékvezérlők) kezeléséért felelős komponense. A DirectX 8 óta nem változott. Ritkán használják.
DirectPlay
Célja, hogy a számítógépes játékok hálózaton keresztüli kommunikációjához egyszerű interfészt nyújtson. Nem volt képes felvenni a versenyt a tradicionális, tcp/udp/socket alapú hálózatkezeléssel, így nem terjedt el.
Irodalom
Források
Kapcsolódó szócikkek
Jegyzetek
További információk
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads