圖形管線

Direct3D 11 可程式化管線是專為為即時遊戲應用程式產生圖形而設計。 本節說明 Direct3D 11 可程式化管線。 下圖顯示從輸入到輸出到輸出到每個可程式化階段的資料流程。

Direct3D 11 可程式化管線中的資料流程圖

Microsoft Direct3D 11 的圖形 管線支援與 Direct3D 10 圖形管線相同的階段,並具有額外的階段來支援進階功能。

您可以使用 Direct3D 11API 來設定所有階段。 搭配常見著色器核心的階段 (圓角矩形區塊) 可使用 HLSL 程式語言進行程式設計。 如您所見,這可讓管線具有極大的彈性且可調整。

本節內容

主題 描述
輸入組合器階段
Direct3D 10 和更新版本的 API 會將管線的功能區域分成階段;管線中的第一個階段是輸入組合器 (IA) 階段。
頂點著色器階段
頂點著色器 (VS) 階段會處理輸入組合器的頂點,執行每個頂點作業,例如轉換、面板調整、變形和每個頂點光源。 頂點著色器一律在單一輸入頂點上操作,並產生單一輸出頂點。 頂點著色器階段必須永遠作用中,才能讓管線執行。 不需要頂點修改或轉換時,必須建立穿通頂點著色器並將其設定至管線。
鑲嵌階段
Direct3D 11 執行時間支援實作鑲嵌的三個新階段,可將低詳細資料細分介面轉換成 GPU 上的較高詳細資料基本類型。 鑲嵌並排顯示高位表面 (或將其分裂) 成為適合轉譯的結構。
幾何著色器階段
geometry 著色器 (GS) 階段會以頂點做為輸入來執行應用程式指定的著色器程式碼,以及在輸出上產生頂點的能力。
資料流程輸出階段
資料流程輸出階段的目的是要從 geometry-shader 階段 (或頂點著色器階段持續輸出 (或串流) 頂點資料,如果 geometry-shader 階段是非使用中) 到記憶體中的一或多個緩衝區, (請參閱串流輸出階段) 消費者入門
轉譯器階段
點陣化階段會轉換向量資訊 (由圖形或基本類型組成) 為點陣影像 (由像素組成),以顯示即時 3D 圖形。
圖元著色器階段
圖元著色器階段 (PS) 啟用豐富的網底技術,例如每圖元光源和後置處理。 像素著色器是結合常數變數、紋理資料、插補每個頂點值和其他資料的程式,以產生每個像素的輸出。 轉譯器階段會針對基本類型涵蓋的每個圖元叫用圖元著色器一次,不過,您可以指定 Null 著色器以避免執行著色器。
輸出合併階段
輸出合併 (OM) 階段會使用管線狀態的組合、圖元著色器所產生的圖元資料、轉譯目標的內容,以及深度/樣板緩衝區的內容,來產生最終轉譯的圖元色彩。 OM 階段是決定哪些圖元在深度樣板測試) 和混合最終圖元色彩 (的最後一個步驟。