DirectX

From Wikipedia, the free encyclopedia

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

Gyors adatok

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

Thumb
DxDiag a DirectX 6.1-ből (4.06.02.0436)
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

Idővonal
Főbb kiadások
1995DirectX 1
1996DirectX 2
DirectX 3
1997DirectX 5
1998DirectX 6
1999DirectX 7
2000DirectX 8
2001
2002DirectX 9
2003
2004
2005
2006DirectX 10
2007
2008
2009DirectX 11
2010
2011
2012
2013
2014
2015DirectX 12
További információk Verziószám, Operációs rendszer ...
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ó:

  1. Előkészítés
  2. Megjelenítés
    1. Transzformációk
    2. Renderelés
  3. 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

  • Nyisztor Károly – Shaderprogramozás. Grafika és játékfejlesztés DirectX-szel[2]
  • Nyisztor Károly – Grafika és Játékprogramozás DirectX-szel – A DirectX-ről, és az arra történő fejlesztésről bővebben.[2]

Források

Kapcsolódó szócikkek

Jegyzetek

További információk

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads