【閱讀筆記之一】《DIRECTX.9.0.3D遊戲開發編程基礎》:DirectX概略

來源:互聯網
上載者:User

                                                                                                   認識DirectX及本書概略

 

       ”DirectX是微軟開發的一套功能豐富的底層API,其中涵蓋了對2D/3D圖形加速的支援,對各種輸入裝置的控制,以及對聲音和音樂輸出的混音和採樣、對多玩家網路遊戲的控制、對各種多媒體流模式的控制等“。

                                                                                                                          ——摘自本書譯者的序言

       

       本書主要是講解運用DirectX3D進行互動式遊戲的開發。DirectX3D只是DirectX的一個子集。DirectX3D是一個龐大的API叢集,必須學會使用DirectX SDK文檔。

 

      代碼約定及其他規則:所有成員變數以底線為首碼;

                                        全域變數和函數名都以大寫字母開頭,局部變數和方法名都以小寫字母開頭;

                                        本書所有代碼均沒有做異常處理;

 

     在本書中對於DirectX有些方面沒有提及,這裡補充(來自《Direct3D遊戲開發技術詳解》)

      在Windows出現之前,DOS是最流行的作業系統,遊戲開發也基本上時在DOS上運行,但是這樣效率及各種效果讓人難以忍受。就在這個時候,Windo ws95出現,並伴隨著DirectX1.0的問世。從此,DirectX建立起來遊戲開發的標準。

       DirectX包含多個組件,下面分別簡單介紹:

       1. Direct3D: 3D圖形包,在顯卡的支援下提供各種豐富、強大的圖形渲染功能。

       2. DirectDraw: 2D圖形包,提供硬體加速的2D渲染顯示功能。

       3. DirectInput: 為包括遊戲杆、滑鼠、鍵盤和遊戲控制器在內的輸入裝置提供支援。

       4. DirectPlay: 對編寫多人連網遊戲提供支援,包括在處理玩家串連、訊息發送、語音交流架構等方面提供了強大的功能。

       5. DirectSound: 音效方面的支援,提供低延遲的聲音和對硬體資源的高度控制。

       6. DirectShow: 提供媒體流架構支援,可播放高品質的視頻和音頻。

       7. DirectSetup: 對DirectX應用程式提供安裝方面的支援。

 

      關於HAL

      HAL(Hardware Abstraction Layer),即硬體抽象層。它和其他關係如下圖所示:

       從圖中可以看到,最底層的Graphics Hardware是圖形顯示卡硬體,其上的Device Driver Interface是顯示卡驅動程式,由顯卡製造商提供。然後在驅動程式上面架構了兩套API,一套是Windows GDI,另外一套是HAL硬體抽象層上的Direct3D API。HAL通過顯卡所支援的模式對Direct3D API通過加速,因此可以提供更好的效能。

       DirectX是按照微軟的COM(Component Object Model)搭起來的。設計COM是希望它能夠提供一個更安全、易升級、可移植 的軟體模組。COM是一種基於二進位的編程模型,它的介面無法通過任何方式改變,並且提供向前相容的功能。COM本身的二進位編程模型使跨語言編程成為其一大優勢。

       另外,我還喜歡這本書裡面的一句話:

     3D遊戲編程不像其他領域一樣學幾句語句就能抄刀上陣......

 

 

                                                                                                                ——Josh   2012年10月12日

                                                                                                                 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.