DirectX學習入門筆記(一)

原文:https://blog.csdn.net/butcher986115/article/details/50595937 git

 

什麼是DirectX?網絡

DirectX是遊戲製做者的API(Application Development Interface)。模塊化

它是一組容許你直接控制計算機硬件設備的軟件。函數

咱們是經過硬件抽象層(HAL)和硬件仿真層(HEL)來保證設備無關性和讓你的程序正常運行。工具

 

DirectX由不少組件構成,每個都有特定的用途。spa

(1)組件DirectDraw是最爲重要的一個,由於全部的圖形都要用到它,它是2D圖形的引擎,3D圖形也一樣離不開它。

.net

(2)DirectSound:提供硬件和軟件的聲音混合與回放。對象

(3)DirectMusic:處理基於消息的音樂數據。它支持樂器數字接口(MIDI, Musical Instrument Digital Interface)併爲建立交互式音樂提供創做工具。blog

(4)DirectPlay:使得經過調制解調器連接或經過網絡來與應用程序相連成爲可能繼承

(5)Direct3D:是一個三維圖形包,它提供一個高級的保留模式(Retained Mode)接口,這使得你可以實現一個完整的三維圖形系統。它還包含一個低級的即時模式(Immediate Mode)接口,使得應用程序得到對渲染管線的徹底控制。

(6) DirectInput:爲包括遊戲杆、鼠標、鍵盤和遊戲控制器在內的輸入設備提供支持。它還爲反饋遊戲設備提供支持。

(7)DirectSetup:爲DirectX提供了一個簡單的安裝過程。它簡化了更新顯示和音頻驅動程序的過程,而且確保沒有硬件或軟件衝突的存在。

(8) AutoPlay:讓你可以製做一張一旦插入驅動器就能自動安裝的光盤。AutoPlay並不是DirectX所獨有,由於它是Microsoft Win32 API的一部分。

組件對象模型(COM)是DirectX的基礎.

組件對象模型(COM)

COM接口是DirectX技術的基礎,

DirectX的大多數API都是基於COM結構的。COM爲軟件模塊化和軟件重用提供了最堅實的基礎,它的最重要的概念就是接口(interface),接口是軟件重用的最基本方法。更專業的說,接口是一系列操做的規範描述,即接口規範。

全部的COM接口都是從Iunknown接口繼承而來的,IUnknown接口是全部COM接口的根。IUnknown接口具備3個方法:

· QueryInterface():此方法查詢新接口,並在新接口存在時返回之。

· AddRef():此方法在接口或其它應用程序連接到此COM對象上時將引用計數值遞加1。

· Release():此方法將COM對象的引用計數遞減1。當引用計數遞減到0時,該COM對象自動釋放。

全部COM對象都具備這三個方法。雖然DirectX應用程序通常不須要考慮引用計數的問題,但引用計數確實是存在的,它已經由DirectX自動完成了。

咱們所要作的,就是建立DirectX對象,而後在使用完畢後調用Release方法釋放引用。

☆ 設置

用DirectX建立程序,你須要有三件主要的事要作。

第一件事是COM對象自己,它們包含在.DLL文件裏,這些.DLL文件須要在Windows裏註冊,這在安裝DirectX軟件包時已經完成了。這些對象是咱們建立DirectX應用程序時用到的接口,例如IdirectDraw。

使用DirectX的不一樣組件,你須要連接不一樣的靜態庫。例如你要使用DirectDraw組件,你就須要ddraw.lib。

最後,你還須要DrectX頭文件,它包含函數原形、宏、常量和你須要用到的各類類型。對於DirectDraw,這個頭文件是ddraw.h。

要確認你使用了正確的文件版本,你還得讓編譯器包含軟件開發包的目錄。

具體的作法是:

首先點擊Tool菜單,選擇Options,而後點擊Directories,在Show Directories for 組合框下拉菜單中選擇Include files,增長一個新的目錄。將你的DirectX的路徑填入。(例如:C:DXSDKinclude)而後將它移到列表的第一位,使編譯時第一個尋找它(防止尋找老版本)。而後選擇Show Directories for組合框下拉菜單中的Library files,方法同前,只是把include改爲lib。如今,你已經設置完了DirectX。你仍然須要手動增長一些庫文件到你的項目中,

相關文章
相關標籤/搜索