- 使用 DXC 撰寫並編譯 Mesh Shader 和 (選擇性的) Amplification Shader。
- 使用編譯後的著色器位元組程式碼建立 Mesh Shader 管線狀態物件。
- 使用命令清單記錄 Mesh Shader 管線狀態物件的分派。
- 在命令佇列上執行命令清單。
Mesh Shader 管線狀態物件
Direct3D 12 透過熟悉的圖形管線狀態物件 API 公開 Mesh Shader 管線。建立 Mesh Shader 管線狀態物件時,會使用管線狀態串流 API,如接下來的兩個程式碼範例所示。 ID3D12Device 和 ID3D12GraphicsCommandList API 可用於檢查硬體支援並分派 Mesh Shader 管線工作負載 (第二個程式碼範例)。請注意,在 XBOX Series X|S 上不需要檢查硬體支援。 下列程式碼範例顯示要提供給管線串流建立 API 的 Mesh Shader 管線串流描述。Mesh Shader
Mesh Shader 是使用 DXC 命令列工具或編譯器程式庫,以新的 Mesh Shader「ms」著色器設定檔進行編譯,例如 ms_6_5。第三個程式碼範例提供螢幕空間三角形 Mesh Shader 的範例實作,請以該程式碼範例作為參考來跟著操作。 下列是在命令列上編譯 Mesh Shader 的範例。- NumThreads 宣告執行緒群組維度
- OutputTopology 宣告基本型別類型
