2009-10-08 246 views
1

我想弄清楚如何在DirectX中調試像素和頂點着色器,我已經嘗試過使用Pix for Windows,但發現它相當有問題,並且實際上無法運行。是否有替代方案可以讓我在我自己的應用程序中調試這些着色器?調試directx像素/頂點着色器?

回答

5

我不知道任何第三方工具調試hlsl着色器,但我有很好的經驗,通過使用一些簡單的技術進行調試。

您可以在cpu上覆制渲染目標並將其存儲到位圖中,將其打印到終端或在CPU調試器中訪問它。

如果存在錯誤,應首先檢查您使用的緩衝區是否確實具有正確的值,開始時經常會發生某些紋理是使用錯誤的參數創建的,或者數據是以其他順序預期的。 。根據我的經驗,這是一個常見的錯誤來源。

4

總之,沒有。

是的pix是有點bug,但它自第一次發佈以來已經大大改進。確保你正在運行最新的SDK!

5

只輸出調試信息作爲顏色。例如,您可以輸出255 *(普通+ 1)作爲r,g,b,您可以輸出一些中間着色器變量作爲顏色,或者可以檢查它是否在着色器的邊界內,如果是黑色則輸出白色如果不是。這通常有幫助。

2

適用於Windows的PIX附帶DirectX SDK(自2010年6月起我可以驗證),並允許您以可視方式調試您正在設置的狀態,並允許逐行掃描着色器。它是一個救星。

相關問題