DirectX是由微軟公司建立的游戲編程接口。由C++編程語(yǔ)言實(shí)現(xiàn),遵循COM。在Windows的平臺(tái)上影響力超越OpenGL并被多數(shù)PC 游戲開(kāi)發(fā)商采用。最新版本DirectX9.0c (2006年12月13日)。另外,Windows Vista第5238版亦包含有 DirectX 10 的 Beta 版。
很多Windows游戲需要DirectX。DirectX包含DirectGraphic、DirectPlay、 DirectSound、DirectInput、DirectSetup等部份。 (Direct3D與DirectDraw已整合成DirectGraphic,而DirectShow亦已自原本的DirectX SDK中移到Windows平臺(tái)SDK了。 Redist Package 是媒體開(kāi)發(fā)底層API,通過(guò)它可以開(kāi)發(fā)游戲和其它媒體應(yīng)用程序。
DirectX并不是一個(gè)單純的圖形API,它是由微軟公司開(kāi)發(fā)的用途廣泛的API,它包含有Direct Graphics(Direct 3D+Direct Draw)、Direct Input、Direct Play、Direct Sound、Direct Show、Direct Setup、Direct Media Objects等多個(gè)組件,它提供了一整套的多媒體接口方案。只是其在3D圖形方面的優(yōu)秀表現(xiàn),讓它的其它方面顯得暗淡無(wú)光。DirectX開(kāi)發(fā)之初是為了彌補(bǔ)Windows 3.1系統(tǒng)對(duì)圖形、聲音處理能力的不足,而今已發(fā)展成為對(duì)整個(gè)多媒體系統(tǒng)的各個(gè)方面都有決定性影響的接口。
DirectX 是一組低級(jí)“應(yīng)用程序編程接口 (API)”,可為 Windows 程序提供高性能的硬件加速多媒體支持。Windows 支持 DirectX 8.0,它能增強(qiáng)計(jì)算機(jī)的多媒體功能。使用 DirectX 可訪問(wèn)顯卡與聲卡的功能,從而使程序可提供逼真的三維 (3D) 圖形與令人如醉如癡的音樂(lè)與聲音效果。
DirectX 使程序能夠輕松確定計(jì)算機(jī)的硬件性能,然后設(shè)置與之匹配的程序參數(shù)。該程序使得多媒體軟件程序能夠在基于 Windows 的具有 DirectX 兼容硬件與驅(qū)動(dòng)程序的計(jì)算機(jī)上運(yùn)行,同時(shí)可確保多媒體程序能夠充分利用高性能硬件。
DirectX 包含一組 API,通過(guò)它能訪問(wèn)高性能硬件的高級(jí)功能,如三維圖形加速芯片和聲卡。這些 API 控制低級(jí)功能(其中包括二維 (2D) 圖形加速)、支持輸入設(shè)備(如游戲桿、鍵盤(pán)和鼠標(biāo))并控制著混音及聲音輸出。構(gòu)成 DirectX 的下列組件支持低級(jí)功能:
Microsoft DirectDraw
Microsoft DirectDraw API 支持快速訪問(wèn)計(jì)算機(jī)視頻適配器的加速硬件功能。它支持在所有視頻適配器上顯示圖形的標(biāo)準(zhǔn)方法,并且使用加速驅(qū)動(dòng)程序時(shí)可以更快更直接地訪問(wèn)。 DirectDraw 為程序(如游戲和二維圖形程序包)以及 Windows 系統(tǒng)組件(如數(shù)字視頻編解碼器)提供了一種獨(dú)立于設(shè)備之外的方法來(lái)訪問(wèn)特定顯示設(shè)備的功能,而不要求用戶提供設(shè)備功能的其它信息。
Microsoft Direct3D
Microsoft Direct3D API (Direct3D) 為大多數(shù)新視頻適配器內(nèi)置的 3-D 調(diào)色功能提供界面。Direct3D 是一種低級(jí)的 3-D API,它為軟件程序提供一種獨(dú)立于設(shè)備之外的方法以便與加速器硬件進(jìn)行有效而強(qiáng)大的通信。Direct3D 包含專(zhuān)用 CPU 指令集支持,從而可為新型計(jì)算機(jī)提供進(jìn)一步加速支持。
Microsoft DirectSound
Microsoft DirectSound API 為程序和音頻適配器的混音、聲音播放和聲音捕獲功能之間提供了鏈接。DirectSound 為多媒體軟件程序提供低延遲混合、硬件加速以及直接訪問(wèn)聲音設(shè)備等功能。維護(hù)與現(xiàn)有設(shè)備驅(qū)動(dòng)程序的兼容性時(shí)提供該功能。
Microsoft DirectMusic
Microsoft DirectMusic API 是 DirectX 的交互式音頻組件。與捕獲和播放數(shù)字聲音樣本的 DirectSound API 不同,DirectMusic 處理數(shù)字音頻以及基于消息的音樂(lè)數(shù)據(jù),這些數(shù)據(jù)是通過(guò)聲卡或其內(nèi)置的軟件合成器轉(zhuǎn)換成數(shù)字音頻的。DirectMusic API 支持以“樂(lè)器數(shù)字界面 (MIDI)”格式進(jìn)行輸入,也支持壓縮與未壓縮的數(shù)字音頻格式。DirectMusic 為軟件開(kāi)發(fā)人員提供了創(chuàng)建令人陶醉的動(dòng)態(tài)音軌的能力,以響應(yīng)軟件環(huán)境中的各種更改,而不只是用戶直接輸入更改。
Microsoft DirectInput
Microsoft DirectInput API 為游戲提供高級(jí)輸入功能并能處理游戲桿以及包括鼠標(biāo)、鍵盤(pán)和強(qiáng)力反饋游戲控制器在內(nèi)的其它相關(guān)設(shè)備的輸入。
Microsoft DirectPlay
Microsoft DirectPlay API 支持通過(guò)調(diào)制解調(diào)器、Internet 或局域網(wǎng)連接游戲。DirectPlay 簡(jiǎn)化了對(duì)通信服務(wù)的訪問(wèn),并提供了一種能夠使游戲彼此通信的方法而不受協(xié)議或聯(lián)機(jī)服務(wù)的限制。DirectPlay 提供了多種游說(shuō)服務(wù),可簡(jiǎn)化多媒體播放器游戲的初始化,同時(shí)還支持可靠的通信協(xié)議以確保重要游戲數(shù)據(jù)在網(wǎng)絡(luò)上不會(huì)丟失。DirectPlay 8.0 的新功能即支持通過(guò)網(wǎng)絡(luò)進(jìn)行語(yǔ)音通信,從而可大大提高基于多媒體播放器小組的游戲的娛樂(lè)性,同時(shí)該組件還通過(guò)提供與玩游戲的其他人對(duì)話的功能而使團(tuán)體游戲更具魅力。
Microsoft DirectShow
Microsoft DirectShow API 提供了可在您的計(jì)算機(jī)與 Internet 服務(wù)器上進(jìn)行高品質(zhì)捕獲與回放多媒體文件的功能。DirectShow 支持各種音頻與視頻格式,包括“高級(jí)流式格式 (ASF)”、“音頻-視頻交錯(cuò) (AVI)”、“數(shù)字視頻 (DV)”、“動(dòng)畫(huà)專(zhuān)家組 (MPEG)”、“MPEG 音頻層 3 (MP3)”、 “Windows 媒體音頻/視頻 (WMA/WMV)”以及 WAV 文件。DirectShow 還具有視頻捕獲、DVD 回放、視頻編輯與混合、硬件加速視頻解碼以及調(diào)諧廣播模擬與數(shù)字電視信號(hào)等功能。