2014-01-15 75 views
2

我在three.js中構建了一個項目,其中一個想法是讓用戶編寫自己的着色器代碼。來自用戶的代碼將動態加載到GPU,就像在this example中一樣。在這樣的設置中,用戶可以通過某種方式顯示由他的代碼生成的編譯時錯誤而獲益良多。我查看了上面例子中的代碼,但這個實例直接與WebGl一起工作。在Three.js中,如何能夠檢測着色器代碼中的編譯錯誤?

是否有任何替代方案我可能會考慮利用three.js庫來檢測編譯時着色器錯誤?

回答

0

我只是猜測,但它看起來像你想要做的是使用WebGL編譯和鏈接着色器。如果有錯誤顯示它們。如果編譯和鏈接成功,則製作a three.js ShaderMaterial並傳入剛剛工作的着色器源代碼。

如果您查看glsl.heroku.com/e的源代碼,您可以在createShader代碼中看到它檢查錯誤並嘗試突出顯示源中的特定行。