共用方式為


D3D12 程式代碼 Walk-Throughs

本節提供範例案例的程序代碼。 許多逐步解說會提供哪些程式代碼需要新增至基本範例的詳細數據,以避免針對每個案例重複基本元件程序代碼。

如需最基本的元件,請參閱建立基本 Direct3D 12 元件 一節。 下列逐步解說說明更進階的案例。

在本節中

主題 描述
使用 D3D11on12 D2D
D3D1211on12 範例示範如何透過 D3D12 內容轉譯 D2D 內容,方法是在 11 型裝置與 12 型裝置之間共用資源。
多引擎 n 主體重力模擬
D3D12nBodyGravity 範例示範如何以異步方式執行計算工作。 此範例會使用計算命令佇列啟動一些線程,並排程 GPU 上的計算工作,以執行 n 主體重力模擬。 每個線程都會在兩個充滿位置和速度數據的緩衝區上運作。 每次反覆運算時,計算著色器都會從一個緩衝區讀取目前的位置和速度數據,並將下一個反覆運算寫入另一個緩衝區。 當反覆專案完成時,計算著色器會交換哪個緩衝區是用於讀取位置/速度數據的 SRV,而這是 UAV 藉由變更每個緩衝區上的資源狀態來寫入位置/速度更新。
述查詢
D3D12PredicationQueries 範例示範使用 DirectX 12 查詢堆積和預先定義的遮蔽消除。 本逐步解說說明擴充 HelloConstBuffer 範例來處理述詞查詢所需的額外程序代碼。
使用 HLSL 5.1 動態索引
D3D12DynamicIndexing 範例會示範著色器模型 5.1 中提供的一些新的 HLSL 功能,特別是動態索引編製和未系結的陣列,每次使用動態選取材質轉譯相同的網格。 使用動態索引編製時,著色器現在可以編製數位的索引,而不需要在編譯時期知道索引的值。 結合未系結的陣列時,這會為著色器作者和藝術管線增添另一層間接和彈性。
間接繪圖和 GPU 擷取
D3D12ExecuteIndirect 範例示範如何使用間接命令來繪製內容。 它也示範如何在發出這些命令之前,在計算著色器中的 GPU 上作這些命令。

Direct3D 12 程式設計手冊

DirectX 進階學習影片教學課程

D3D12 參考 中的範例程序代碼

工作範例