我正在使用JNI和NDK来构建一个OpenGL项目,我手机上的一切正常(galaxy nexus),但我试图在几台平板电脑(huawei和acer)上启动这个应用程序并发现一个奇怪的行为:
在我的片段着色器中有一个值:
uniform float current;
...
gl_FragColor = (...,current);
在我的代码中我做了:
g_currentAreaLoc = glGetUniformLocation(g_nGLESProgram, "current" );
...
glUseProgram(g_nGLESProgram);
glUniform1f(g_currentAreaLoc, area);
当我在手机上试用这个代码时,一切都很完美,但在平板电脑上没有预期的结果。
但是如果我的代码为 0.0 而不是当前 - 此平板电脑上的所有内容都可以。 < / p>
我无法弄清楚为什么这个变量可以在手机上运行,平板电脑也有麻烦(可能取决于操作系统版本)。