圖形管線
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 階段是決定哪些圖元在深度樣板測試) 和混合最終圖元色彩 (的最後一個步驟。 |