共用方式為


D3D12 程式碼Walk-Throughs

本節提供範例案例的程式碼。 許多逐步解說都提供將哪些程式碼新增至基本範例所需的詳細資料,以避免針對每個案例重複基本元件程式碼。

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

本節內容

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

Direct3D 12 程式設計指南

DirectX 進階學習影片教學課程

D3D12 參考中的範例程式碼

工作範例