DirectX

A Wikipédiából, a szabad enciklopédiából.

A DirectX (Továbiakban 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 annak köszönheti, hogy már a Windows 95-től kezdődően a DX a Windows rendszer szerves része.

A programozó szemponjá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.

Tartalomjegyzék

[szerkesztés] Felépítése

A DX több ezer API függvényt definiál, amiket az alkotók kisebb modulokra bondottak aszerint, hogy mi a feladatuk. A renszer a Microsoft COM techonoló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 billenyűzetet, egeret, gamepad-ot, és minden más elképzelhető perifériát is
  • DirectMusic: Zenelejátszás a dolga. Egy játékban például a háttérzenét a DirectMusic szolgáltatja
  • 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

[szerkesztés] Története

A Windows 95 egy merőben új rendszer volt. A Microsoftnál rájöttek arra, ha nem figyelnek a játékosokra, akkor nem lesz majd olyan sikeres. A probléma oka egyszerű volt: a valós módban futó DOS lehetővé tette a hardver közvetlen manipulálását, a védett módú Windows kernel azonban már nem, többek között azért, mert egy általánosított felületet biztosított a programok számára.

A Microsoftnál 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 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: tartalmazta a játékkészítés minden elemét. Megjelenítés, vezérlés és hangok. Az OpenGL "csak" egy grafikai függvény-könyvtár.

2002-ben a DX 9-től már támogatottak a pixel és vertex shader-ek is (1.x, 2.x), 2004-től pedig már a 3.x-es shaderek is.

[szerkesztés] Verziói

DirectX verzió Verziószám Operációs rendszer Megjelenési dátum
DirectX 1.0 4.02.0095   1995.szeptember 30
DirectX 2.0 ? 1996
DirectX 2.0a 4.03.00.1096 Windows 95 OSR2 és NT 4.0 1996.június 5
DirectX 3.0 4.04.00.0068   1996.szeptember 15
4.04.00.0069 1996
DirectX 3.0a 4.04.00.0070 Windows NT 4.0 SP3-tól
utolsó DirectX verzió, ami támogatja a Windows NT 4.0-t
1996. december
DirectX 3.0b 4.04.00.0070 1996. december
DirectX 4.0 sosem készült el  
DirectX 5.0 4.05.00.0155 (RC55) 1997.július 16
DirectX 5.2 4.05.01.1600 (RC00) DirectX 5.2 Windows 95-re 1998.május 5
4.05.01.1998 (RC0) Windows 98 exkluzív 1998.június 25
DirectX 6.0 4.06.00.0318 (RC3) Windows CE 1998.augusztus 7
DirectX 6.1 4.06.02.0436 (RC0)   1999.február 3
DirectX 6.1a 4.06.03.0518 (RC0) Windows 98 SE exkluzív 1999.május 5
DirectX 7.0 4.07.00.0700 (RC1)   1999.szeptember 22
4.07.00.0700 Windows 2000 2000.február 17
DirectX 7.0a 4.07.00.0716 (RC0)   2000.március 8
4.07.00.0716 (RC1)   2000
DirectX 7.1 4.07.01.3000 (RC1) Windows Me exkluzív 2000.szeptember 14
DirectX 8.0 4.08.00.0400 (RC10)   2000.november 12
DirectX 8.0a 4.08.00.0400 (RC14) az utolsó verzió Windows 95 támogatással 2001.február 5
DirectX 8.1 4.08.01.0810 Windows XP, Windows Server 2003 és Xbox exkluzív 2001.október 25
4.08.01.0881 (RC7) 2001.november 8
DirectX 8.1a 4.08.01.0901 (RC?) ez a verzió tartalmaz egy frissítést a Direct3D-hez (D3d8.dll) 2002
DirectX 8.1b 4.08.01.0901 (RC7) Egy javítást tartalmaz a DirectShow-hoz Windows 2000 (Quartz.dll) alatt 2002.június 25
DirectX 8.2 4.08.02.0134 (RC0) Ugyanaz, mint a DirectX 8.1b, de tartalmazza a DirectPlay 8.2-t 2002
DirectX 9.0 4.09.00.0900 (RC4)   2002.december 19
DirectX 9.0a 4.09.00.0901 (RC6)   2003.március 26
DirectX 9.0b 4.09.00.0902 (RC2)   2003.augusztus 13
DirectX 9.0c 4.09.00.0903 Windows XP SP2 exkluzív  
4.09.00.0904 (RC0)   2004.augusztus 4
4.09.00.0904 Windows XP SP2, Windows Server 2003 SP1, Windows Server 2003 R2 and Xbox 360 2004.augusztus 6
DirectX 9.0c 4.09.00.0904 (RC0)   utolsó verzió: 2008. március
DirectX 10 6.00.6000.16386 Windows Vista exkluzív 2006.november 30
DirectX 10.1 6.00.6001.18000 Windows Vista SP1, Windows Server 2008 2008.február 4

[szerkesztés] Összetevői

[szerkesztés] Direct3D

A DX talán legismertebb eleme. Szinte minden Windows rendszerre írt játék ezt a 3D-s függvénykönyvtárat használja.

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ás specifikus feladatokat is. A második és aharmadik lépés általában egy ciklusban ismétlődik a program futása során. A negyedik lépés igazából nem létfontosságú, de a rendszer stabil és megbízható működéséhez nélkülözhetetlen.

Bővebben (angolul):

http://msdn2.microsoft.com/hu-hu/library/bb219740(en-us,VS.85).aspx

[szerkesztés] 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.

[szerkesztés] Könyvajánló

A DirectX-ről, és az arra történő fejlesztésről bővebben Nyisztor Károly: Grafika és Játékprogramozás DirectX-szel c. könyvében olvashatsz: [1] Kép:Http://nkari.uw.hu/directx.jpg

[szerkesztés] Források

Az angol nyelvű DirectX szócikk: [2]
MSDN Library: [3]

A lap eredeti címe: „http://hu.wikipedia.org/wiki/DirectX
Személyes eszközök