《Beginning DirectX11 Game Programming》讀書筆記1 認識DirectX11

學習DX11開發,可以充分利用多核CPU、顯卡GPU性能,同時簡化了開發難度。目前大量軟件應用已經在市面上存在,可以通過改進已有程序,增強競爭力。

結合自身的抽獎軟件,要採用Direct2D針對win7改進性能,並新增3D版本。

 

基本概念

之前沒有開發過DX程序,先認識一下基本概念。

 

第一個版本命名爲Games SDK。

Windows、Xbox採用DirectX開發視頻遊戲。XBOX遊戲使用的是DX9的特別修訂版本。

DirectX很好的封裝了對硬件的底層訪問,而無需關心硬件驅動。下方DX指DirectX。更多見百度百科詞條

 

DirectX10是革新版本,因它需要新的硬件,並且至少Vista系統環境。10已經成功了,受到了硬件廠商廣泛支持,同時桌面系統也大量採用了win7。11基於10開發。win7系統自帶,Vista可以安裝支持,不支持XP。

DX11增加了GPU、多線程運算和拆嵌式細分曲面技術等重要特性。

 

 

 

DX11構成

  • Direct2D 用於繪製高性能2D圖形、位圖、文本。替代DirectDraw
  • DirectWrite 在Direct2D程序中負責字體渲染和文本佈局
  • DXGI 提供圖形硬件底層管理。主要是枚舉顯示設備,將渲染好的幀呈現出來
  • Direct3D 3D圖形
  • XAudio2 底層API,替代DirectSound,負責聲音。XAudio只能在XBOX上應用
  • XACT3 基於XAudio2
  • XInput 輸入控制。
  • XNA Math 不是API,是數學庫
  • DirectCompute 11新增。實現多線程GPU運算。
  • DirectSetup 用於分發程序。比如檢查用戶DX版本
  • Windows Game Explorer 遊戲瀏覽器。顯示遊戲信息,比如是否限制未成年人
  • DirectInput 鍵盤、鼠標、操縱桿輸入

Win7下的遊戲瀏覽器,

image

 

渲染管線(共12項,後續會闡述)

image

 

如果之前編寫了DirectX遊戲,如何升級到11版本呢?

假如原有基於10的話,可以方便升級,用11對應的API替換即可。

假如原有基於9版本,因爲版本革新,建議重新編寫界面渲染層代碼。11不同9需要檢測硬件對DX功能是否支持,因爲所有硬件不支持的功能,會通過軟件模擬。這個特性,大大方便了開發人員的工作。

 

開發工具

下載DX11 SDK

http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=6812

image

 

閱讀例子程序和文檔

image

很多例子運行很慢,不知道是否沒有啓用硬件加速的原因。

 

SDK包含了很多實用工具,

PIX調試工具:用於收集和分析3DAPI的調用和執行信息。也可以設置斷點調試。

Cpas Viewer:顯示硬件對DirectX11的支持程度

image

 

診斷工具:檢查DX功能組件是否正確執行的工具

錯誤代碼查看:運行DX程序收到的錯誤代碼,可以通過此工具查看詳細描述

控制面板:實用工具,用於檢查、修改DX功能組件。比如:啓用調試、更改調試等級、查看組件版本以及硬件支持信息等

跨平臺聲音創建工具:PC程序不需要。創建XACT3需要的音頻文件。包含命令行和GUI版本

遊戲定義文件編輯器:爲遊戲瀏覽器提供適應本地用戶規範的遊戲信息。比如發佈日期、圖標、是否限制未成年

 

如何學習

  • 閱讀文檔、不斷編寫代碼練習
  • 參考SDK、MSDN手冊
  • 參與交流。比如博客、開發站點

 

本書網站,http://ultimategameprogramming.com/ 網站即將發佈DirectX 2D 遊戲開發書籍。期待。

http://www.gamedev.net/page/index.html 這裏有很多遊戲開發者

 

後續將學習如何編寫第一個DX程序。基於 VC2010+Win7(32位旗艦版)開發環境。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章