共用方式為


圖形管線檢視器

[圖形管線階段] 視窗是 Visual Studio的其中一個圖形診斷工具,可以幫助您瞭解特定繪製事件是如何透過圖形管線移動。

這是圖形管線階段視窗:

3D 物件會經過管線階段。

了解圖形管線階段視窗

[圖形管線階段] 視窗可協助您分析每個階段的圖形管線 (套用至於已呈現的特定物件)之輸出。特別是,您可以識別資料解譯錯誤或轉換不正確的階段 (例如,您可以調查頂點著色器階段是否導致在幕後繪製物件)。當您找出發生問題的管線階段時,可以使用其他圖形的診斷工具檢查資料的解譯或轉換方式。管線階段出現的轉譯問題通常與不正確的頂點格式描述元、多 Bug 著色器程式設計或組態錯誤裝置狀態有關。

Hh873194.collapse_all(zh-tw,VS.110).gif圖形管線階段

[圖形管線階段] 視窗只顯示在呼叫期間為使用中的管線階段之圖形資料。若要在 Visual Studio 中使用圖形工具檢查每個顯示階段的輸出,請在 [圖形管線階段] 視窗中選擇相關聯的縮圖。

[圖形管線階段] 視窗不支援計算著色器。

  • [輸入組件]
    讀取應用程式提供的索引及頂點資料,並針對圖形硬體進行組合。縮圖會顯示組合端點的線框模型。對應至位置的端點資料由 POSITION 語意決定。如果輸入組合語言輸出沒有 POSITION 語意存在,則 [輸入組合語言] 階段不會顯示任何項目。您可以使用模型編輯器檢查 [輸入組件] 階段的輸出。

  • 端點著色器
    處理頂點,這通常藉由執行如轉換、面板和光源等運算來進行。頂點著色器永遠接受一個頂點輸入並產生一個頂點輸出。縮圖會顯示轉換後幾何的線框影像。對應至位置的端點資料由 POSITION 或 SV_POSITION 語意決定。如果頂點著色器輸出沒有 POSITION 或 SV_POSITION 語意不存在,則 [端點著色器] 階段不會顯示任何項目。您可以使用 [影像編輯器] 檢查 [端點著色器] 階段的輸出。

  • 輪廓著色器
    僅限 Direct3D 11。將幾何基本圖形 (例如,Quad、三角形或線條) 處理成低序位幾何修補檔,做為固定函式鑲嵌階段的輸入。[輪廓著色器] 不會顯示任何縮圖。

  • 網域著色器
    僅限 Direct3D 11。處理固定函式鑲嵌階段輸出的細分頂點,類似於頂點著色器階段。[網域著色器] 階段不會顯示任何縮圖。

  • 幾何著色器
    處理整個基本圖形 (點、線或三角形),以及相鄰基本圖形的選擇性頂點資訊。幾何著色器可以捨棄基本圖形或發出一個或多個基本圖形。縮圖會顯示轉換後幾何的線框影像。您可以使用 [影像編輯器] 檢查 [幾何著色器] 階段的輸出。

  • 像素著色引擎
    處理插補的頂點資料以產生有色彩的像素。縮圖會顯示像素著色器輸出的影像。您可以使用 [影像編輯器] 檢查 [像素著色器] 階段的輸出。

  • [輸出合併]
    將各種著色器結果 (例如、像素著色器值和深度資訊) 與轉譯目標及緩衝區的內容,以及樣板資訊合併,以判斷轉譯目標受影響的情況。縮圖會顯示合併各種結果之後的產生目標內容的影像,以及所考量之模板緩衝區的內容。您可以使用影像編輯器檢查 [輸出合併] 階段的輸出。

Hh873194.collapse_all(zh-tw,VS.110).gif檢視及偵錯著色器程式碼

您可以使用與著色器相關的管線階段下的控制項,以檢視 [端點著色器]、[輪廓著色器]、 [網域著色器]、 [幾何著色器] 或 [像素著色器] 的程式碼,或是進行偵錯。

檢視著色器的原始程式碼

  • 在與所要檢視之著色器相關聯的管線階段下,選擇管線階段的標題 (例如,選擇 [頂點著色器]) 以檢視頂點著色器原始程式碼。

若要對著色器進行偵錯

  • 在與所要偵錯之著色器相關聯的著色器階段下,管線階段標題下方,選擇 [開始偵錯]。這個 HLSL 偵錯工具進入點只能偵錯對應階段的第一個著色器引動過程,也就是第一個端點、基本型別,或是第一個處理的像素。這些著色器階段的其他引動過程,可以使用 [圖形像素歷史記錄] 來存取。

Hh873194.collapse_all(zh-tw,VS.110).gif圖形裝置的連結

若要了解繪製呼叫為何以特定方式與圖形管線互動,您可能需要與目前裝置狀態相關的資訊。[圖形管線階段] 視窗提供與這項資訊的連結。

請參閱

工作

逐步解說:因端點著色而遺漏的物件

逐步解說:偵錯因著色而產生的顯示錯誤