我正在尝试在Galaxy选项卡10.1设备上使用片段着色器,它只是在我对glCompileShader的调用中崩溃。 我正在使用OpenGL ES 2。 着色器源代码有点冗长(70行......没那么多),但我知道它不会太长,因为如果我只是改变最后一行来返回一个恒定的颜色
void main(void)
{
float r, g, b;
... // Code to compute values for r,g,b
gl_FragColor=vec4(r,g,b,1.0); line to be replaced
}
通过
gl_FragColor=vec4(0.0, 1.0, 1.0, 1.0);
着色器完美运行。
此外,未修改版本的着色器在三星Galaxy S上完美运行。
如果它出现了一些编译错误,我会知道出了什么问题,但只是在编译时崩溃:这很令人困惑。
感谢您的帮助。
编辑.: 通过替换该行,所有剩余的着色器代码都得到优化,并且可能被编译器删除。所以崩溃可能是由于其他一些代码被编译而引起的...但是崩溃......之前有人经历过吗?