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 上作這些命令。 |
相關主題
-
D3D12 參考 中的範例程序代碼