✔ 最佳答案
DirectX,(Direct eXtension,簡稱DX)是由微軟公司建立的游戲編程接口。由C++編程語言實現,遵循COM。因為DX的功能比OpenGL更全面而被多數PC游戲開發商採用。最新版本為DirectX 10和DirectX 9Ex (2006年11月30日),兩者均隻可於Windows Vista上使用。
很多Windows游戲需要DirectX。DirectX包含DirectGraphic、DirectPlay、DirectSound、DirectInput、DirectSetup等部份。Direct3D與DirectDraw已整合成DirectGraphic,而DirectShow亦已自原本的DirectX SDK中移到Windows平台SDK了。
Redist Package 是媒體開發底層API,通過它可以開發游戲和其它多媒體應用程序。
元件
DirectX 組成的元件有:
* DirectX Graphics,包含二組 APIs(DirectX 8.0 onwards):
o DirectDraw:用於繪製 2D Graphics(en:raster graphics)(不建議使用,雖然目前仍有大量的使用者)。
o Direct3D(簡稱D3D):用於繪製3D圖形(3D graphics)
* DirectInput:用於結合鍵盤、滑鼠、搖桿,或其它的遊戲控制器(Not updated since 8 except for XInput,專門提供給 Xbox360 的控制器。並建議以WM INPUT取代鍵盤與滑鼠。)
* DirectPlay:用於網路遊戲連線溝通(配合DirectInput使用,上次的更新版本是version 8. 目前已不建議使用)
* DirectSound:用於錄音,並且記錄波形音效(waveform sound)
o DirectSound3D(簡稱DS3D):用於3D音效(3D sounds)的錄音。
* DirectMusic:用於DirectMusic Producer的錄音。
* DirectX Media:包含DirectAnimation 可用於2D 的網頁動畫(web animation),DirectShow可支援多媒體錄音(multimedia playback)以及資料流媒體(en:streaming media),DirectX在網頁上的轉換,還有Direct3D 可保留3D graphics更清晰的解析。DirectShow 亦包含有en:DirectX plugins 用於en:audio signal processing以及 DirectX Video Acceleration加速影音音效(video playback)。
* DirectX Media Objects:支援資料流物件(streaming objects),像是編碼(encoders)、解碼(decoder)以及效果(effects)。
* DirectSetup:用於DirectX 元件的安裝,並非完全是 API。
[編輯] 歷史
1994年末,微軟即將推出新一代操作系統Windows 95。決定新操作系統的最終價值的因素在於究竟新系統能運行哪些程序。微軟的三個員工:Craig Eisler、Alex St. John、Eric Engstrom十分關心這個問題,因為不少游戲程序員更喜歡在DOS系統下編寫游戲,這意味者,沒有多少人願意為WIN95編寫游戲,新操作系統不會獲得多少成功。
DOS允許直接訪問顯卡、鍵盤、鼠標聲卡以及其他系統硬件設施。而Windows 95出於保護存儲系統的目的,限制了對硬件的直接訪問,取而代之的是一套更加規范標准的訪問方法。微軟需要一種方法讓程序員在WIN95中也能編寫出高效的程序。此時,離新系統發布不到幾個月了。St. John和Engstrom聯合解決了這個問題,他們將解決方案稱為DirectX。
DirectX的第一個版本作為Windows Games SDK發布於1995年9月,它作為Windows API的一部分用以替換Windows 3.1中的DCI和WinGAPI。ATI的一個開發團隊為微軟帶來了基本的游戲圖像技術,微軟方面,DirectX由專門的團隊負責開發,Eisler為團隊領導,而St. John和Engstrom則成為主程序設計師。
DirectX出現之前,微軟已經將OpenGL包括在Windows NT系統中,而在當時,OpenGL對硬件要求嚴苛,這限制了一些工程師和CAD用戶。Direct3D就作為OpenGL的代替品被加入DirectX。隨著硬件技術的發展,OpenGL成為行業標准,一場“戰役”發生在 DirectX的支持者和OpenGL的支持者之前,而且前者隻支持Windows平台,而后者支持多平台。在實際應用中,游戲開發者常常兩者同時使用,因為DirectX支持許多OpenGL所不支持的功能,比如音效和輸入裝置。而選擇混合使用OpenGL和OpenAL的隊伍也在壯大。
由此衍生出的“特別DirectX”也作為微軟Xbox和Xbox 360的圖形API,這套API由微軟和NVIDIA公司共同開發,Xbox API和DirectX 8.1比較相似,但不能升級更新,Xbox本版也叫做DirectXbox,但由於商業銷售緣故,還是被簡稱為Xbox[1]
2002年,微軟發布了DirectX 9,它支持最新的頂點陰影著色器2.0版本,又於2004年4月將shader model 3.0(SM 3.0)加入了DirectX 9.0c。
2005年4月,DirectShow從DirectX移除,加入到Microsoft Platform SDK。
兼容性
硬件制造商要為每款硬件產品編寫驅動程序來支持DX,甚至一些硬件商隻編寫DX的驅動,這意味著要使用這款硬件就必須安裝DX,早期的DirectX版本自帶了所有支持DX硬件的驅動程序,后來用戶可以通過自動更新系統下載適合的驅動。
一些驅動隻支持某個版本的DX,DX10之前,所有DirectX版本都保持向前兼容性,即新版本兼容舊版本,例如安裝了DX9的電腦,依然可以運行由DX6編寫的游戲。
DirectX 10
Windows Vista是DirectX 10唯一支持的操作系統,比起之前的版本,DX10做了重大的變動:DirectInput將被XInput替換,DirectSound將被XACT替換。DirectX 10也減少了對音效硬件加速的支持,更多的使用CPU來運算音效。亦有謠言說微軟打算發布一個補丁包使DX10支持XP,以此讓更多的XP用戶購買Vista。
代替品
除了DX,仍然有許多其他的代替選擇,然而,沒有替代選擇可以完全代替DX的功能,但可以組合起來使用,例如SDL、OpenMAX、OpenML、OpenGL、OpenAL、FMOD等。這些往往擅長於某個方面,而且支持多平台,且多是開源的。也有一些替代品旨在包攬DX的全部功能,比如Wine。
2007-08-07 10:12:04 補充:
去呢道Download
http://www.microsoft.com/downloads/details.aspx?displaylang=zh-tw&FamilyID=0a9b6820-bfbb-4799-9908-d418cdeac197
2007-08-07 10:12:49 補充:
系統需求DirectX 安裝程序需要網際網路存取及大約 55 MB 的可用硬碟空間。安裝後,DirectX 下載大約需要 22 MB 的硬碟空間。
2007-08-08 16:10:30 補充:
如果你用XP用Direct X 9 已ok, Direct X 10 要有Vista 先可以用 。