1. 程式人生 > 其它 >Direct3D11學習:(一)開發環境配置

Direct3D11學習:(一)開發環境配置

轉載請註明出處:http://www.cnblogs.com/Ray1024       從今天開始,開啟一個新的系列:Direct3D11的學習教程。 因為一直對3D方面比較感興趣,最近決定開始學習D3D知識。我之前也沒有接觸過Direct3D9,在網路上諮詢過一些大神,大家都推薦直接從D3D11開始學起。我想了好久終於下決心買了一本D3D11的龍書《Introduction to 3D Game Programming: With Directx 11》,可惜這本書目前只有英文版。自己可憐的英文當初四級都差點沒過,只能逼著自己,一定要堅持下去啊。 寫這個系列的部落格有多方面的考慮,一方面用這種方式監督自己的學習,另一方面記錄一下自己的學習歷程,也跟大家交流一下學習過程中的問題和心得。   首先,在學習D3D之前,必須要做的就是開發環境的配置。這篇文章主要講解了D3D11開發環境的配置過程,建立並除錯執行書中的一個例子BoxDemo。   一.工具準備 1.DirectX11 SDK安裝包 安裝包選擇微軟官網下載,我選擇的SDK版本是DXSDK_Jun10.exe。下載網址:
https://www.microsoft.com/en-us/download/details.aspx?id=6812
按照安裝提示安裝完成。 注意DXSDK_Jun10.exe的安裝過程中可能會出現安裝錯誤,如下圖: 解決方法參考這裡:http://www.cnblogs.com/Ray1024/p/6066549.html   2.Visual Studio 2010映象 龍書中教程使用的IDE是vs2010,我電腦中已經安裝過了vs2010,所以就不貼映象網址了。   二、建立一個win32專案 1.執行vs2010,開啟選單檔案>新建>專案,如下圖所示:     2.出現新建專案對話方塊後,選擇Visual C++
 > Win32選項,選擇Win32專案,接下來輸入專案名稱並選擇你想要建立的專案路徑。如果為解決方案建立目錄選項預設勾選了,把它取消勾選。點選確定按鈕。如下圖:   3.接下來彈出一個新的對話方塊視窗,如下圖。這個對話方塊左邊有兩個選項:概述和應用程式設定。選擇應用程式設定選項,對話方塊窗口出現應用程式設定頁面。在應用程式型別中選擇Windows應用程式,在附加選項中選擇空專案。然後點選完成按鈕。   到這為止,我們已經成功地建立了一個空的Win32專案。但是要能建立DirectX專案示例,我們還需要做一些事情。   三、連結DirectX庫檔案 1.編譯Effect庫 Effect框架是微軟額外提供的一個程式框架,用於管理著色器程式和渲染狀態的工具程式碼,使使用者在程式中使用shader時與C++程式更方便地銜接。這個框架對於編寫D3D程式來說不是必需的,好比D3DX庫對於D3D程式來說也是可有可無的。但它畢竟大大方便了我們使用shader,在學習過程把心思放在要點上,因此在後面學習過程中將全程使用Effect框架。

在Direct3D 11中,Effects框架已從D3DX庫中移除,你必須包含一個單獨的標頭檔案(d3dx11Effect.h),連結一個單獨的庫檔案(Effects11.lib用於release生成,而Effects11D.lib用於debug生成)。

而且,在Direct3D 11中提供了effect庫的完整原始碼(DirectX SDK\Samples\C++\Effects11)。因此,你可以根據需要修改effect框架。本書中,我們只是使用、並不會修改effect框架。要使用這個庫,首先需要生成Effects11專案的Release和Debug模式,用於獲得Effects11.lib和Effects11D.lib檔案。d3dx11Effect.h標頭檔案可在DirectX SDK\Samples\C++\Effects11\Inc資料夾中找到。我們將d3dx11Effect.h放到DirectX SDK\Include目錄下,Effects11D.lib和Effects11.lib檔案都放在DirectX SDK\Lib\x86目錄下,這樣所有的專案檔案都能共享這些檔案。

 

2.連結DirectX庫檔案 我們需要將Direct3D的庫檔案連結到我們的專案中。 專案Debug版本需要的庫檔案是:      d3d11.lib;      d3dx11d.lib;      D3DCompiler.lib;      Effects11d.lib;       dxerr.lib;      dxgi.lib;      dxguid.lib;   對於專案Release版本需要的庫檔案,和上面的Debug版本差不多,只需要把d3dx11d.lib和Effects11d.lib換成d3dx11.lib和Effects11.lib就可以了。 右鍵點選專案,選擇選單中的屬性,彈出屬性頁,如下圖。選擇 配置屬性>連結器>輸入,在附加依賴項中新增上面提到的庫檔案,然後點選應用確定退出。     四、設定標頭檔案和庫檔案包含目錄 我們在這一步中,需要讓Visual Studio知道去哪裡找DirectX的標頭檔案和庫檔案。 右鍵點選專案,選擇選單中的屬性,彈出屬性頁,如下圖。選擇 配置屬性>VC++目錄,在包含目錄中新增DirectX標頭檔案路徑,在庫目錄中新增DirectX庫檔案路徑,然後點選應用確定退出。 (注:這個路徑是取決於你把DirectX SDK安裝到哪了,我安裝在C:\Program Files (x86)\Microsoft DirectX SDK (June 2010),所以包含目錄為C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include,庫目錄為C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Lib\x86。)   配置的這些屬性在一個專案中無所謂,但是如果以後需要建立大量的DirectX專案,那麼就需要一個一個地去配置這些屬性,工作非常繁瑣而且浪費時間。接下來我們介紹一個可以一勞永逸的方法:點選VS2010視窗頂部選單 檢視 屬性管理器開啟屬性管理器視窗,雙擊屬性管理器中的Microsoft.Cpp.Win32.user專案,就會開啟一個和之前的屬性視窗很像的視窗,如下圖。將上面提到的連結庫檔案、設定包含路徑的步驟都在這裡完成,確定退出。那麼我們以後建立的每個專案都會自動繼承這些屬性的,這將省去我們很多的時間。     我們的專案屬性終於配置完成了。那麼我們接下來就可以新增程式碼並除錯專案了。