共用方式為


開始使用 Direct3D

Direct3D 是低階 API,可用於使用轉譯管線繪製基本類型,或使用計算著色器執行平行作業。

什麼是 Direct3D?

Direct3D 是低階 API,可用來繪製每個畫面的三角形、線條或點,或啟動 GPU 上的高度平行作業。

Direct3D:

  • 隱藏一致抽象概念背後的不同 GPU 實作。 但您仍然需要知道如何繪製 3D 圖形。
  • 是設計來驅動個別的圖形特定處理器。 較新的 GPU 有數百或數千個平行處理器。
  • 強調平行處理。 您可以設定許多轉譯或計算狀態,然後啟動作業。 您不會等候作業的立即意見反應。 您不會混合 CPU 和 GPU 作業。

您可以使用哪一個 Direct3D API?

您選擇的 Direct3D API 取決於您要撰寫的應用程式樣式。

  • 如果您想要撰寫 UWP 應用程式,請使用 Direct3D 11、DXGI 和 HLSL API 的子集。 如需這些 API 的清單,請參閱 適用于 UWP 應用程式的 Win32 和 COM API。 若要瞭解如何撰寫 Direct3D 11 Windows 市集應用程式,請參閱 使用 DirectX 建立 3D 圖形
  • 如果您撰寫傳統型應用程式,您可以使用完整的 Direct3D 11、DXGI 和 HLSL API 集合。
  • 從 Windows 8 開始,我們不再主動支援傳統型應用程式的 XNA 架構。 但 Windows 市集應用程式、UWP 應用程式和傳統型應用程式可以使用完整的 XAudio2DirectXMath API 集合。 傳統型應用程式可以使用一組完整的 XInput API,而 Windows 市集應用程式和 UWP 應用程式可以使用大部分的 XInput API;如需詳細資訊,請參閱 XInput 版本

哪一個 Direct3D 版本?

您選擇的 Direct3D API 版本取決於您要設為目標的作業系統和硬體層級。

  • 如果您想要以 Windows 8 和更新版本為目標,請使用 Direct3D 11 API。
  • 搭配 Windows XP 和更新版本使用 Direct3D 9 API。 所有硬體都支援 Direct3D 9 API,甚至是較新的 Direct3D 11 層級硬體。
  • 搭配 Windows Vista 和更新版本使用 Direct3D 10 API。 只有 Direct3D 10 層級和更新版本硬體支援 Direct3D 10 API。
  • 搭配 Windows 7 和更新版本使用 Direct3D 10.1 和 Direct3D 11 API。 您也可以使用 Direct3D 10.1 和 Direct3D 11 API 搭配 Windows Vista 搭配 Service Pack 2 (SP2) 。

Direct3D 轉譯管線

在 Direct3D 轉譯管線中,資料流程來自數個來源,例如資料流程的流向。

  • 流程的某些部分可程式化。
  • 有些部分有旋鈕和撥號鍵。
  • 資料來源是封包的序列資料流程, (頂點) 或可編制索引陣列 (著色器資源) 。
  • 頂點和著色器資源會流入基本類型,您可以放大這些基本類型。
  • 基本類型和著色器資源會流入圖元作業。

Direct3D 計算著色器

使用 Direct3D 計算著色器,所有 GPU 的處理器都會以平行方式執行。 因此,計算著色器的行為比水流更像水流。