例如,
ERROR: 0:137: 'blend2' : no matching overloaded function found
ERROR: 0:137: '=' : dimension mismatch
ERROR: 0:137: '=' : cannot convert from 'const mediump float' to 'highp 3-component vector of float'
0
中的0:137
是什么?
137
中0:137
的内容是什么?
为什么所有错误消息都以0:
开头?为什么不是1:
或2:
?
注意我不是在问为什么我会收到这些错误。如果有的话,首选参考一些官方规范或文档的答案。我正在使用Chrome 63.0.3239.132。
答案 0 :(得分:5)
0:137中的0是什么?
它是产生错误的着色器字符串的索引。在常规OpenGL中,glShaderSource
允许您提供多个字符串。它们被编译为好像它们被连接在一起一样。但这意味着错误消息必须识别着色器中负责该错误的特定字符串。第一个数字是提供给glShaderSource
的字符串数组的从零开始的索引。
当然,WebGL的等效gl.shaderSource
函数不允许您提供多个着色器字符串。因此,如果WebGL实现最终直接调用OpenGL或OpenGL ES实现,那么OpenGL产生的错误将包含字符串索引,即使它们在技术上不需要它。
0:137中的137是什么?
这是发生错误的行号。