共用方式為


逐步解說:將簡單的 Direct3D 9 應用程式移植到 DirectX 11 和 通用 Windows 平台 (UWP)

此移植練習示範如何將簡單的轉譯架構從 Direct3D 9 帶到 Direct3D 11 和 通用 Windows 平台 (UWP)。

主題 說明

初始化 Direct3D 11

顯示如何將 Direct3D 9 初始化程式碼轉換為 Direct3D 11,包括如何取得 Direct3D 裝置和裝置內容的處理常式,以及如何使用 DXGI 設定交換鏈結。

轉換轉譯架構

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

移植遊戲迴圈

說明如何實作 UWP 遊戲的視窗,以及如何轉移遊戲迴圈,包括如何建置 IFrameworkView 以控制全螢幕 CoreWindow

 

本主題會逐步解說執行相同基本圖形工作的兩個程式碼路徑:顯示旋轉的頂點陰影 Cube。 在這兩種情況下,程式碼涵蓋下列程序:

  1. 建立 Direct3D 裝置和交換鏈結。
  2. 建立頂點緩衝區和索引緩衝區,以代表五顏六色的 Cube 網格。
  3. 建立可將頂點轉換成螢幕空間的頂點著色器、混合色彩值的像素著色器、編譯著色器,以及將著色器載入為 Direct3D 資源。
  4. 實作轉譯鏈結,並將繪製的 Cube 呈現至畫面。
  5. 建立視窗、啟動主要迴圈,以及進行視窗訊息處理。

完成本逐步解說之後,您應該熟悉 Direct3D 9 與 Direct3D 11 之間的下列基本差異:

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

請注意,本逐步解說會使用 CoreWindow 來簡化,且未涵蓋 XAML Interop。

必要條件

您應該為 UWP DirectX 遊戲開發準備開發環境。 您還不需要範本,但您需要 Microsoft Visual Studio 2015 來載入本逐步解說的程式碼範例。

請造訪移植概念和考慮,以進一步瞭解本逐步解說中所示的 DirectX 11 和 UWP 程式設計概念。

Direct3D

Microsoft Store