逐步解說:將簡單的 Direct3D 9 應用程式移植到 DirectX 11 和 Windows 市集

Applies to Windows and Windows Phone

這個移植練習說明如何將簡單的轉譯架構從 Direct3D 9 移到 Direct3D 11 和 Windows 市集。

在本節中

主題說明

初始化 Direct3D 11

展示如何將 Direct3D 9 初始化程式碼轉換成 Direct3D 11,包含如何取得 Direct3D 裝置的控制代碼與裝置內容,以及如何使用 DXGI 來設定交換鏈結。

轉換轉譯架構

展示如何將簡單的轉譯架構從 Direct3D 9 轉換到 Direct3D 11,包含如何移植幾何緩衝區、如何編譯和載入 HLSL 著色器程式,以及如何在 Direct3D 11 中實作轉譯鏈結。

移植遊戲迴圈

展示如何為 Windows 市集或 Windows Phone 遊戲實作視窗,以及如何帶入遊戲迴圈,其中包含如何建置 IFrameworkView 以控制全螢幕的 CoreWindow

 

本主題將逐步解說兩個執行相同基本圖形工作的程式碼路徑:顯示旋轉的頂點著色立方體。在這兩個案例中,程式碼會涵蓋下列程序:

  1. 建立 Direct3D 裝置和交換鏈結。
  2. 建立頂點緩衝區與索引緩衝區,表示色彩豐富的立方體網格。
  3. 建立將頂點轉換成螢幕空間的頂點著色器、混合色彩值的像素著色器、編譯著色器,以及將著色器載入為 Direct3D 資源。
  4. 實作轉譯鏈結以及在螢幕上呈現繪製的立方體。
  5. 建立視窗、開始主要迴圈與負責視窗訊息處理。

完成這個逐步解說之後,您應該就會熟悉以下的 Direct3D 9 和 Direct3D 11 基本差異:

  • 裝置、裝置內容和圖形基礎結構的區隔。
  • 編譯著色器的程序以及在執行階段載入著色器位元組程式碼。
  • 如何為輸入組合語言 (IA) 階段設定每個頂點資料。
  • 如何使用 IFrameworkView 建立 CoreWindow 檢視。

請注意,為了簡單起見,本逐步解說使用 CoreWindow,而且不涵蓋 XAML 互通性。

先決條件

您應該為 Windows 市集 DirectX 遊戲開發準備開發環境。您還不需要用到範本,但是需要 Microsoft Visual Studio 2013 載入這個逐步解說的程式碼範例。

下載簡單的 Direct3D 9 至 DirectX 11 Windows 市集移植範例。此範例包含這個逐步解說中顯示的 Direct3D 9 和 Windows 市集程式碼路徑。即使這個範本使用的是 Windows 市集應用程式,但是所討論的移植概念同樣適用於 Windows Phone 應用程式。

如需進一步了解這個逐步解說中說明的 DirectX 11 和 Windows 市集程式設計概念,請瀏覽移植概念和考量

相關主題

Direct3D
針對不同的 Direct3D 功能層級進行開發
在 Direct3D 9 撰寫 HLSL 著色器
建立適用於 Windows 市集的新 DirectX 11 專案
Windows 市集
Microsoft::WRL::ComPtr
Handle to Object Operator (^)

 

 

顯示:
© 2014 Microsoft