逐步解說:將簡單的 Direct3D 9 應用程式移植到 DirectX 11 和 通用 Windows 平台 (UWP)
此移植練習示範如何將簡單的轉譯架構從 Direct3D 9 帶到 Direct3D 11 和 通用 Windows 平台 (UWP)。
主題 | 說明 |
---|---|
顯示如何將 Direct3D 9 初始化程式碼轉換為 Direct3D 11,包括如何取得 Direct3D 裝置和裝置內容的處理常式,以及如何使用 DXGI 設定交換鏈結。 |
|
說明如何將簡單的轉譯架構從 Direct3D 9 轉換為 Direct3D 11,包括:如何移植幾何緩衝區、如何編譯和載入 HLSL 著色器程式,以及如何在 Direct3D 11 中實作轉譯鏈結。 |
|
說明如何實作 UWP 遊戲的視窗,以及如何轉移遊戲迴圈,包括如何建置 IFrameworkView 以控制全螢幕 CoreWindow。 |
本主題會逐步解說執行相同基本圖形工作的兩個程式碼路徑:顯示旋轉的頂點陰影 Cube。 在這兩種情況下,程式碼涵蓋下列程序:
- 建立 Direct3D 裝置和交換鏈結。
- 建立頂點緩衝區和索引緩衝區,以代表五顏六色的 Cube 網格。
- 建立可將頂點轉換成螢幕空間的頂點著色器、混合色彩值的像素著色器、編譯著色器,以及將著色器載入為 Direct3D 資源。
- 實作轉譯鏈結,並將繪製的 Cube 呈現至畫面。
- 建立視窗、啟動主要迴圈,以及進行視窗訊息處理。
完成本逐步解說之後,您應該熟悉 Direct3D 9 與 Direct3D 11 之間的下列基本差異:
- 裝置、裝置內容和圖形基礎結構的分隔。
- 編譯著色器的程序,並在執行階段載入著色器位元組程式碼。
- 如何為輸入組合語言 (IA) 階段設定每個頂點資料。
- 如何使用 IFrameworkView 建立 CoreWindow 檢視。
請注意,本逐步解說會使用 CoreWindow 來簡化,且未涵蓋 XAML Interop。
必要條件
您應該為 UWP DirectX 遊戲開發準備開發環境。 您還不需要範本,但您需要 Microsoft Visual Studio 2015 來載入本逐步解說的程式碼範例。
請造訪移植概念和考慮,以進一步瞭解本逐步解說中所示的 DirectX 11 和 UWP 程式設計概念。
相關主題
Direct3D
Microsoft Store