2014-01-15 28 views
2

我在three.js中构建了一个项目,其中一个想法是让用户编写自己的着色器代码。来自用户的代码将动态加载到GPU,就像在this example中一样。在这样的设置中,用户可以通过某种方式显示由他的代码生成的编译时错误而获益良多。我查看了上面例子中的代码,但这个实例直接与WebGl一起工作。在Three.js中,如何能够检测着色器代码中的编译错误?

是否有任何替代方案我可能会考虑利用three.js库来检测编译时着色器错误?

回答

0

我只是猜测,但它看起来像你想要做的是使用WebGL编译和链接着色器。如果有错误显示它们。如果编译和链接成功,则制作a three.js ShaderMaterial并传入刚刚工作的着色器源代码。

如果您查看glsl.heroku.com/e的源代码,您可以在createShader代码中看到它检查错误并尝试突出显示源中的特定行。