0

我正在使用 JNI 和 NDK 构建一个 OpenGL 项目,在我的手机(galaxy nexus)上一切正常,但我试图在几台平板电脑(华为和宏基)上启动这个应用程序并发现一个奇怪的行为:

在我的片段着色器中有一个值:

    uniform float current;
    ...
    gl_FragColor = (...,current);

在我的代码中,我这样做:

    g_currentAreaLoc = glGetUniformLocation(g_nGLESProgram, "current" );
    ...
    glUseProgram(g_nGLESProgram);
    glUniform1f(g_currentAreaLoc, area);

当我在手机上尝试此代码时,一切都很完美,但在平板电脑上却没有预期的结果。

但是,如果我有例如0.0而不是当前的代码 -这台平板电脑上一切正常。

我不明白为什么这个变量在手机上有效,而在平板电脑上存在问题(可能取决于操作系统版本)。

4

0 回答 0