我想弄清楚如何在DirectX中調試像素和頂點着色器,我已經嘗試過使用Pix for Windows,但發現它相當有問題,並且實際上無法運行。是否有替代方案可以讓我在我自己的應用程序中調試這些着色器?調試directx像素/頂點着色器?
1
A
回答
5
我不知道任何第三方工具調試hlsl着色器,但我有很好的經驗,通過使用一些簡單的技術進行調試。
您可以在cpu上覆制渲染目標並將其存儲到位圖中,將其打印到終端或在CPU調試器中訪問它。
如果存在錯誤,應首先檢查您使用的緩衝區是否確實具有正確的值,開始時經常會發生某些紋理是使用錯誤的參數創建的,或者數據是以其他順序預期的。 。根據我的經驗,這是一個常見的錯誤來源。
4
總之,沒有。
是的pix是有點bug,但它自第一次發佈以來已經大大改進。確保你正在運行最新的SDK!
5
只輸出調試信息作爲顏色。例如,您可以輸出255 *(普通+ 1)作爲r,g,b,您可以輸出一些中間着色器變量作爲顏色,或者可以檢查它是否在着色器的邊界內,如果是黑色則輸出白色如果不是。這通常有幫助。
2
適用於Windows的PIX附帶DirectX SDK(自2010年6月起我可以驗證),並允許您以可視方式調試您正在設置的狀態,並允許逐行掃描着色器。它是一個救星。
相關問題
- 1. DirectX 11頂點着色器反射
- 2. 的DirectX 11如何操作頂點和像素着色工作
- 3. DirectX - 傳遞給頂點着色器的頂點的維數
- 4. DirectX 11着色器錯誤。像素着色器只接收NaN
- 5. DirectX像素着色器在幀的每個像素上都像WPF像素着色器一樣操作嗎?
- 6. 從HLSL頂點着色器傳遞數組到像素着色器
- 7. DirectX:使用紋理的頂點着色器
- 8. 頂點着色器與頂點
- 9. Three.js - 根據屏幕上像素位置進行着色的頂點着色器
- 10. GLSL:頂點着色器無片段着色片段着色器
- 11. Matrix.CreateRotation VS頂點着色器
- 12. 頂點着色器問題
- 13. 從頂點着色器
- 14. 如何緩衝許多頂點,幾何和像素着色器
- 15. GLSL頂點着色器中的眼睛空間像素寬度
- 16. 像素和頂點着色器的工具
- 17. Delphi DX11 Direct3D頂點和像素着色器問題
- 18. Directx的頂點顏色
- 19. 在VS2013上調試DirectX - 繪圖調用不出現,但執行了頂點着色器
- 20. DirectX 11,結合像素着色器以防止瓶頸
- 21. 在DirectX中渲染帶有像素着色器的圓形
- 22. GLSL點燃頂點着色器
- 23. 更改頂點着色器中頂點的顏色
- 24. 表面着色器中的統一着色器頂點格式
- 25. 頂點着色器和片段着色器
- 26. 帶定製HLSL着色器的DirectX Toolkit加載模型頂點着色器輸入簽名
- 27. iOS CGImageRef像素着色器
- 28. 頂點處理與像素着色的相對費用
- 29. PIX DirectX 11調試像素錯誤
- 30. directx9,我可以只使用沒有像素着色器的頂點着色器嗎?