ThreeJS:获取有用的着色器构建日志

时间:2019-05-06 08:00:06

标签: three.js shader

当我的ThreeJS自定义着色器包含错误时,在渲染阶段,我会在JS控制台中收到非常神秘的INVALID_OPERATION消息:

WebGL: INVALID_OPERATION: useProgram: program not valid

有没有办法获取更有用的日志,例如getShaderInfoLog()返回的日志?

(要进行快速测试,可以在this app的着色器中添加错误。)

1 个答案:

答案 0 :(得分:5)

出于性能考虑,three.js R104在编译着色器程序时不再执行错误检查和报告。但是,多个用户抱怨此更改,因此最近已将其还原。在下一个版本R105中,情况将与以前一样(请参见migration guide)。

但是,您可以通过将R104设置为renderer.debug.checkShaderErrors来手动打开true中的先前行为。