共用方式為


圖形管線

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

direct3d 11 可程式化管線的資料流圖表

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

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

在本節中

主題 描述
輸入組合器階段
Direct3D 10 和更新版本的 API 會將管線的功能區域分成階段;管線中的第一個階段是輸入組合器 (IA) 階段。
頂點著色器階段
頂點著色器(VS)階段會從輸入組合器接收頂點,並執行每個頂點的操作,例如轉換、蒙皮、變形和每個頂點的光照。 頂點著色器一律會在單一輸入頂點上運作,併產生單一輸出頂點。 頂點著色器階段必須保持啟用狀態,管線才能執行。 如果不需要任何頂點修改或轉換,則必須建立通過型頂點著色器並配置到管線中。
鑲嵌階段
Direct3D 11 執行階段支援三個新的細分階段,這些階段可以將低詳細細分曲面轉換成 GPU 上的較高詳細元素。 鑲嵌圖元(或將高階表面分解)成適合渲染的結構。
幾何著色器階段
在 geometry-shader(GS)階段,會執行應用程式指定的著色器程式碼,以頂點作為輸入,並具有在輸出中生成頂點的能力。
數據流輸出階段
數據流輸出階段的目的是要持續將頂點數據從幾何著色器階段(或如果幾何著色器階段未啟用,則是從頂點著色器階段)輸出到記憶體中的一個或多個緩衝區(請參閱 開始使用數據流輸出階段)。
光柵化階段
點陣化階段會將向量資訊(由圖形或基本類型組成)轉換成點陣影像(由圖元組成),以便顯示即時 3D 圖形。
像素著色器階段
像素著色器階段(PS)可啟用豐富的陰影技術,例如逐像素光照和後期處理。 圖元著色器是一種程式,可以結合常數、紋理數據、插值後的每頂點值及其他數據,來產生每像素的輸出。 轉譯器階段會針對基本類型所涵蓋的每個圖元叫用圖元著色器一次,不過,您可以指定 NULL 著色器,以避免執行著色器。
輸出合併階段
輸出合併(OM)階段會結合管道狀態、像素著色器所產生的像素數據、渲染目標的內容,以及深度/樣板緩衝區的內容,來生成最終渲染的像素色彩。 OM 階段是判斷哪些像素可見的最後一個步驟(具有深度模板測試),並混合最終像素色彩。