在Three.js中,如何能够在着色器代码中检测编译错误?

时间:2014-01-15 21:11:24

标签: three.js webgl shader glsles

我正在用three.js构建一个项目,我正在摆弄的一个想法将允许用户编写自己的着色器代码。来自用户的代码将动态加载到gpu,就像在this example中一样。在这样的设置中,用户可以通过某种方式显示由他的代码生成的编译时错误而受益匪浅。我查看了上面示例中的代码,但此实例直接与WebGl一起使用。

我可以考虑使用three.js库来检测编译时着色器错误吗?

1 个答案:

答案 0 :(得分:0)

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

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