傳統型 DirectX 應用程式的藍圖
以下是協助您開始使用 DirectX 和 C++開發圖形密集型傳統型應用程式,例如遊戲的重要資源。 這不是所有功能或可用資源的完整清單。
開始使用
以下是一些重要主題。 設定 DirectX 專案、將自己加入 Windows,以及範例應用程式。
主題 | 描述 |
---|---|
使用 DirectX 建立您的第一個 Windows 應用程式 | 使用此基本教學課程來開始使用 DirectX 應用程式開發,然後使用藍圖繼續探索 DirectX。 |
開始使用適用於 Windows 的 DirectX | 檢閱開始使用 DirectX 和C++開始開發遊戲時必須採取的步驟。 |
DirectX 架構的完整程式代碼 | 取得基本 DirectX 轉譯架構的程序代碼。 |
如何使用 Direct3D 11 | 本節示範如何使用 Microsoft Direct3D 11 API 來完成數個一般工作。 |
Direct3D 11 程式設計手冊 | 程序設計指南包含如何使用 Microsoft Direct3D 11 可程式化管線來建立桌面應用程式的即時 3D 圖形的相關信息。 |
DirectX 圖形 工具 | 用於支援 DirectX 開發之工具的檔案。 |
Direct3D 11 的新功能 | 最新版 DirectX 和 Direct3D 中新增的所有功能明細(目前為 11.2)。 |
下載Visual Studio 2013 | 您必須擁有 Visual Studio Express 2013 for Windows Desktop 才能建立 Windows 市集遊戲。 如需 Visual Studio 的導覽,請參閱 使用 Visual Studio 2012開發 Windows 市集應用程式。 如需 Visual Studio 新功能的相關信息,請參閱 Visual Studio 2013 產品重點。 |
DirectX SDK 在哪裡? | 包含想要將其 DirectX 專案帶入 Visual Studio Microsoft 開發人員的指引。 |
範例應用程式
主題 | 描述 |
---|---|
Direct3D 教學課程 Win32 範例 | 基本桌面 Direct3D 教學課程範例。 |
DirectX 影片轉譯範例 | 示範使用 Direct3D 進行自定義視訊轉譯的範例。 |
檢閱主要 Direct3D 11 概念
主題 | 描述 |
---|---|
圖形管線 | 涵蓋基本的 Direct3D 11 圖形管線。 |
轉譯 | 涵蓋 Direct3D 轉譯模型、元件、著色器和 API 呼叫流程。 |
資源 | 涵蓋 Direct3D「資源」,例如緩衝區和其他 GPU 資源類型。 |
效果 | 涵蓋 Direct3D 多重著色器實例和效果。 |
如何:建立交換鏈結 | 如何建立用來繪製圖元到畫面區域的交換鏈結。 |
如何:建立裝置和立即內容 | 如何建立 Direct3D 裝置抽象概念和繪圖的實時內容。 |
如何:建立頂點緩衝區 | 如何建立簡單的網格頂點清單,以供 GPU 處理。 |
如何:建立索引緩衝區 | 如何建立索引緩衝區,讓頂點著色器能夠逐步解說網格中的頂點順序。 |
如何:建立常數緩衝區 | 如何在轉譯期間在 CPU 與 GPU 之間傳遞常數(統一)數據。 |
如何:建立紋理 | 如何建立可由 GPU 取樣的紋理或其他緩衝區資源。 |
如何:從檔案初始化紋理 | 如何從檔案載入紋理,並處理它以供著色器管線使用。 |
如何:編譯著色器 | 如何編譯著色器以在圖形應用程式中使用。 |
圖形 API
主題 | 描述 |
---|---|
Direct3D 11 | GPU 及其資源虛擬化的核心 API 檔,以及使用統一著色器模型繪製圖形。 |
Direct3D HLSL | High-Level 著色器語言的參考檔、用來定義統一著色器模型中圖形管線一部分執行著色器程式的語法和規則。 |
DirectX 圖形介面 (DXGI) | 用來取得 GPU 介面和系統資源的低階 API 檔。 |
Direct2D | Direct2D API 的檔,可支援繪製 2D 基本類型。 Direct2D 通常用於自定義使用者介面、影像處理和批處理,以及簡單的遊戲。 |
DirectWrite | DirectWrite API 的檔,其支援自定義字型轉譯和縮放。 |
Windows 映射元件 (WIC) | WIC API 的文件,用於讀取和管理不同的位圖影像格式。 |
紋理的 DirectDraw Surfaces (DDS) | 用於 2D 紋理壓縮和解壓縮的 DDS API 檔,與 WIC API 搭配使用。 |
DirectXMath | DirectXMath API 的檔,其支援 Direct3D 的一組適用於 3D 即時圖形開發的類型和函式。 (前 XNAMath. |
DirectCompute | DirectCompute API 的檔,用於計算或一般用途著色器功能。 |
音訊、媒體和輸入 API
主題 | 描述 |
---|---|
XAudio2 程式設計手冊 | XAudio2 音訊 API 概念檔的最上層節點。 |
XAudio2 程式設計參考 | XAudio2 音訊 API 參考檔的最上層節點。 |
XInput 程式設計手冊 | XInput 控制器 API 概念檔的最上層節點。 |
XInput 程式設計參考 | XInput 控制器 API 參考檔的最上層節點。 |
媒體基金會 | 媒體基礎 (MF) 媒體 (音訊/視訊) 播放 API 檔的最上層節點。 一般而言,MF 用於遊戲進行配樂播放,而 XAudio2 則用於動態音訊。 |
移植到 DirectX 11
主題 | 描述 |
---|---|
移轉至 Direct3D 11 | 將 DirectX 9 程式代碼基底移至 DirectX 11 的基本指導方針。 |
遊戲 雙重使用編碼技術 | 關於在單一應用程式中開發 DirectX 9_* 和 DirectX 11_* 功能層級的詳細部落格文章。 |
實作 Direct3D 功能層級 9 的陰影緩衝區 | 在 DirectX 功能層級 9_*底下實作陰影地圖的指引。 |
使用 C++
如果您是 Windows 平臺上有C++的舊手,則情況可能稍有不同。 以下是一些主題指標,可協助您取得差異的句柄。
注意
這些主題中有一些可協助您維護C++/CX 應用程式。 但建議您針對新的應用程式使用 C++/WinRT。 C++/WinRT 是適用於 Windows 運行時間 (WinRT) API 的完全標準新式C++17 語言投影,實作為頭文件型連結庫,並設計為為您提供新式 Windows API 的第一級存取權。
主題 | 描述 |
---|---|
Visual C++ 語言參考 (C++/CX) | 連結至與C++相關內容的高階頁面。 |
快速參考 (Windows 運行時間和 Visual C++) | 數據表,提供 Visual C++ 元件延伸模組 (C++/CX) 運算子和關鍵詞的快速資訊。 |
類型系統 (C++/CX) | C++/CX 所支援之類型的參考內容。 |
命名空間 (C++/CX) | 命名空間的參考內容,其中包含可在 Windows 市集應用程式中使用的C++特定類型。 |
主題 | 描述 |
---|---|
異步程序設計 (DirectX 和 C++) | 瞭解 DirectX 應用程式和遊戲的異步和多線程程序設計。 |
C++ 中的異步程序設計 | 描述使用工作類別來取用 Windows 執行時間異步方法的基本方式。 |
工作類別 (並行運行時間) | 工作類別的參考檔。 |
工作平行處理原則 (並行運行時間) | 深入討論工作類別及其使用方式。 |
適用於 Windows C++程式設計的其他實用連結庫
主題 | 描述 |
---|---|
C++ 標準範本庫 | Windows 執行時間類型適用於標準範本連結庫類型。 大部分C++ Windows 市集應用程式都使用標準範本連結庫集合和演算法,但 ABI 界限除外。 |
平行模式連結庫 | PPL 提供演算法和類型,可簡化 CPU 上的工作平行處理原則和數據平行處理原則。 |
C++加速大規模平行處理原則 (C++ AMP) | C++ AMP 提供 GPU 的存取權,以取得支援 DirectX 11 之視訊卡上的一般用途數據平行處理原則。 |
部落格和其他資源
主題 | 描述 |
---|---|
適用於 Windows 和 DirectX 的 遊戲部落格 | 來自主要 DirectX 開發人員參與者的定期更新部落格,以及適用於 DirectX 開發人員的全方位絕佳資源。 |
Windows DirectX 開發人員部落格 | 官方 Windows DirectX 部落格。 |
肖恩·哈格裡夫的 DirectX 部落格) | 來自另一個受人尊敬的 Windows DirectX 開發參與者的開發部落格。 |
DirectX Tool Kit | DirectX Tool Kit (DxTK),其中包含一些實用的支援 API,可用來載入網格、播放音效和其他常見行為。 |
DirectXTex 紋理處理連結庫 | DirectX 紋理處理連結庫 (DxTEX),其中包含紋理處理和壓縮/解壓縮的支援 API。 |