JNI と NDK を使用して OpenGL プロジェクトをビルドしています。携帯電話 (galaxy nexus) ではすべて問題ありませんが、いくつかのタブレット PC (huawei と acer) でこのアプリを起動しようとしたところ、奇妙な動作が見つかりました。
私のフラグメントシェーダーには値があります:
uniform float current;
...
gl_FragColor = (...,current);
私のコードでは:
g_currentAreaLoc = glGetUniformLocation(g_nGLESProgram, "current" );
...
glUseProgram(g_nGLESProgram);
glUniform1f(g_currentAreaLoc, area);
電話でこのコードを試すと、すべてが完璧ですが、タブレットでは期待どおりの結果が得られません。
しかし、現在の代わりに0.0などのコードがあった場合、このタブレットではすべて問題ありません。
この変数が電話で機能し、タブレットで問題が発生する理由がわかりません(OSのバージョンに依存する可能性があります)。