有沒有辦法可以調試glsl着色器?包括像斷點和數據跟蹤有沒有一種方法可以調試GLSL着色器?
我看到了一些簡單的人,讓我看看着色器讓我的蔭程序,但沒有什麼我可以把破發點英寸
我需要檢查矩陣的值,只是拋出一個glFragColor將不起作用,因爲有太多的值要比較和檢查。
有沒有一個簡單的方法來做到這一點?除了我只寫下我認爲我可能擁有的價值,並在其他地方做我的數學。
當我試圖瞭解所有的OpenGL並知道如何瀏覽DirectX時,這真的很煩人。我可以看到爲什麼有些人在資源難以找到時會被OpenGL嚇跑。
您定位的是哪個版本的OpenGL?忘記正常着色器中的「斷點」,GPU與CPU異步運行,並且沒有/暴露必要的中斷邏輯來實現斷點,而不使用某種特定於供應商的工具。此外,着色器並行(大量)運行。您可以強制着色器在GL4中阻塞內存障礙,並且您可能能夠使用Shader存儲緩衝區/圖像加載/存儲/轉換反饋/等調查輸出。但是,所有這些都需要特定版本的GL和一般對GLSL有透徹的理解。 –
即時使用3.3及以上版本 –
轉換反饋可能是您最好的選擇。曾經有一個工具'glslDevil'提供了很多你所描述的功能(除了運行時斷點),它是圍繞變換反饋建立的。該工具仍然存在,但尚未更新,很少適用於現代GL實現/着色器。變換反饋可以讓你從3.3中的頂點/幾何階段獲得輸出,如你所知,對於片段着色器調試,你可能將不得不依賴片段數據輸出。 –