DirectX是壹種應用程序接口(API),它可讓以windows為平臺的遊戲或多媒體程序獲得更高的執行效率,加強3d圖形和聲音效果,並提供設計人員壹個***同的硬件驅動標準,讓遊戲開發者不必為每壹品牌的硬件來寫不同的驅動程序,也降低用戶安裝及設置硬件的復雜度。這樣說是不是有點不太明白,其實從字面意義上說,Direct就是直接的意思,而後邊的X則代表了很多的意思,從這壹點上我們就可以看出DirectX的出現就是為了為眾多軟件提供直接服務的。
舉個例子吧,骨灰級玩家(玩遊戲比較長的)以前在DOS下玩遊戲時,可不像我們現在,安裝上就可以玩了,他們往往首先要先設置聲卡的品牌和型號,然後還要設置IRQ(中斷)、I/O(輸入於輸出)、DMA(存取模式),如果哪項設置的不對,那麽遊戲聲音就發不出來。這部分的設置不僅讓玩家傷透腦筋,而且對遊戲開發者來說就更頭痛了,因為為了讓遊戲能夠在眾多電腦中正確運行,開發者必須在遊戲制作之初,便需要把市面上所有聲卡硬件數據都收集過來,然後根據不同的 API(應用編程接口)來寫不同的驅動程序,這對於遊戲制作公司來說,是很難完成的,所以說在當時多媒體遊戲很少。微軟正是看到了這個問題,為眾廠家推出了壹個***同的應用程序接口——DirectX,只要這個遊戲是依照Directx來開發的,不管妳是什麽顯卡、聲卡、統統都能玩,而且還能發揮更佳的效果。當然,前提是妳的顯卡、聲卡的驅動程序也必須支持DirectX才行。
DirectX是由很多API組成的,按照性質分類,可以分為四大部分,顯示部分、聲音部分、輸入部分和網絡部分。
顯示部分擔任圖形處理的關鍵,分為DirectDraw(DDraw)和Direct3D(D3D),前者主要負責2D圖像加速。它包括很多方面:我們播放mpg、DVD電影、看圖、玩小遊戲等等都是用的DDraw,妳可以把它理解成所有劃線的部分都是用的DDraw。後者則主要負責3D效果的顯示,比如CS中的場景和人物、FIFA中的人物等等,都是使用了DirectX的Direct3D。
聲音部分中最主要的API是DirectSound,除了播放聲音和處理混音之外,還加強了3d音效,並提供了錄音功能。我們前面所舉的聲卡兼容的例子,就是利用了DirectSound來解決的。
輸入部分DirectInput可以支持很多的遊戲輸入設備,它能夠讓這些設備充分發揮最佳狀態和全部功能。除了鍵盤和鼠標之外還可以連接手柄、搖桿、模擬器等。
網絡部分DirectPlay主要就是為了具有網絡功能遊戲而開發的,提供了多種連接方式,TPC/IP,IPX,Modem,串口等等,讓玩家可以用各種連網方式來進行對戰,此外也提供網絡對話功能及保密措施。
DirectX並不是壹個單純的圖形API,它是由微軟公司開發的用途廣泛的API,它包含有Direct Graphics(Direct 3D+Direct Draw)、Direct Input、Direct Play、Direct Sound、Direct Show、Direct Setup、Direct Media Objects等多個組件,它提供了壹整套的多媒體接口方案。只是其在3D圖形方面的優秀表現,讓它的其它方面顯得暗淡無光。DirectX開發之初是為了彌補Windows 3.1系統對圖形、聲音處理能力的不足,而今已發展成為對整個多媒體系統的各個方面都有決定性影響的接口。
DirectX 是壹組低級“應用程序編程接口 (API)”,可為 Windows 程序提供高性能的硬件加速多媒體支持。Windows 支持 DirectX 8.0,它能增強計算機的多媒體功能。使用 DirectX 可訪問顯卡與聲卡的功能,從而使程序可提供逼真的三維 (3D) 圖形與令人如醉如癡的音樂與聲音效果。
DirectX 使程序能夠輕松確定計算機的硬件性能,然後設置與之匹配的程序參數。該程序使得多媒體軟件程序能夠在基於 Windows 的具有 DirectX 兼容硬件與驅動程序的計算機上運行,同時可確保多媒體程序能夠充分利用高性能硬件。
DirectX 包含壹組 API,通過它能訪問高性能硬件的高級功能,如三維圖形加速芯片和聲卡。這些 API 控制低級功能(其中包括二維 (2D) 圖形加速)、支持輸入設備(如遊戲桿、鍵盤和鼠標)並控制著混音及聲音輸出。構成 DirectX 的下列組件支持低級功能:
Microsoft DirectDraw
Microsoft DirectDraw API 支持快速訪問計算機視頻適配器的加速硬件功能。它支持在所有視頻適配器上顯示圖形的標準方法,並且使用加速驅動程序時可以更快更直接地訪問。DirectDraw 為程序(如遊戲和二維圖形程序包)以及 Windows 系統組件(如數字視頻編解碼器)提供了壹種獨立於設備之外的方法來訪問特定顯示設備的功能,而不要求用戶提供設備功能的其它信息。
--------------------------------------------------------------------------------
Microsoft Direct3D
Microsoft Direct3D API (Direct3D) 為大多數新視頻適配器內置的 3-D 調色功能提供界面。Direct3D 是壹種低級的 3-D API,它為軟件程序提供壹種獨立於設備之外的方法以便與加速器硬件進行有效而強大的通信。Direct3D 包含專用 CPU 指令集支持,從而可為新型計算機提供進壹步加速支持。
--------------------------------------------------------------------------------
Microsoft DirectSound
Microsoft DirectSound API 為程序和音頻適配器的混音、聲音播放和聲音捕獲功能之間提供了鏈接。DirectSound 為多媒體軟件程序提供低延遲混合、硬件加速以及直接訪問聲音設備等功能。維護與現有設備驅動程序的兼容性時提供該功能。
--------------------------------------------------------------------------------
Microsoft DirectMusic
Microsoft DirectMusic API 是 DirectX 的交互式音頻組件。與捕獲和播放數字聲音樣本的 DirectSound API 不同,DirectMusic 處理數字音頻以及基於消息的音樂數據,這些數據是通過聲卡或其內置的軟件合成器轉換成數字音頻的。DirectMusic API 支持以“樂器數字界面 (MIDI)”格式進行輸入,也支持壓縮與未壓縮的數字音頻格式。DirectMusic 為軟件開發人員提供了創建令人陶醉的動態音軌的能力,以響應軟件環境中的各種更改,而不只是用戶直接輸入更改。
--------------------------------------------------------------------------------
Microsoft DirectInput
Microsoft DirectInput API 為遊戲提供高級輸入功能並能處理遊戲桿以及包括鼠標、鍵盤和強力反饋遊戲控制器在內的其它相關設備的輸入。
--------------------------------------------------------------------------------
Microsoft DirectPlay
Microsoft DirectPlay API 支持通過調制解調器、Internet 或局域網連接遊戲。DirectPlay 簡化了對通信服務的訪問,並提供了壹種能夠使遊戲彼此通信的方法而不受協議或聯機服務的限制。DirectPlay 提供了多種遊說服務,可簡化多媒體播放器遊戲的初始化,同時還支持可靠的通信協議以確保重要遊戲數據在網絡上不會丟失。DirectPlay 8.0 的新功能即支持通過網絡進行語音通信,從而可大大提高基於多媒體播放器小組的遊戲的娛樂性,同時該組件還通過提供與玩遊戲的其他人對話的功能而使團體遊戲更具魅力。
--------------------------------------------------------------------------------
Microsoft DirectShow
Microsoft DirectShow API 提供了可在您的計算機與 Internet 服務器上進行高品質捕獲與回放多媒體文件的功能。DirectShow 支持各種音頻與視頻格式,包括“高級流式格式 (ASF)”、“音頻-視頻交錯 (AVI)”、“數字視頻 (DV)”、“動畫專家組 (MPEG)”、“MPEG 音頻層 3 (MP3)”、 “Windows 媒體音頻/視頻 (WMA/WMV)”以及 WAV 文件。DirectShow 還具有視頻捕獲、DVD 回放、視頻編輯與混合、硬件加速視頻解碼以及調諧廣播模擬與數字電視信號等功能