我的一些客户未能初始化webGL程序。我正在用
抓住错误${a(())}
我得到的日志是
gl.linkProgram(program);
if (!gl.getProgramParameter(program, gl.LINK_STATUS)) {
throw new Error("Unable to initialize the shader program: " + gl.getProgramInfoLog(program));
}
我无法在计算机上重现此错误。有没有人知道出了什么问题?如果有帮助,我很乐意分享更多代码:)
答案 0 :(得分:1)
Not all control paths return a value
是一个错误,如果您的函数看起来像
if (...) {
return ...
} else if (...) {
return ...
}
即使始终满足这两个条件中的一个,编译器也不够聪明,无法知道并抛出错误。因此,您必须将else if
更改为else
或添加第三个返回语句,实际上永远不会使用该语句。
我发现在某些环境中,着色器编译得很好,而在其他一些(windows)中它会失败。
我在代码中找不到_directionToColor
,因为函数名称为directionToColor
,并且以某种方式添加了下划线。