Androidベースのゲーム(OpenGl ES2.0)でテクスチャのレンダリングに問題があります。私はほとんどのデバイスでこの問題が存在しないとすべての問題が認識されませんでした、すべてがうまく描画されます。
以下のスクリーンショットでは、左側の赤いバーがメインフレームバッファに描画されているため、正しく表示されています。それ以外のものは画面外のテクスチャでレンダリングされ、メインフレームバッファにレンダリングされます。OpenGL ES2.0フレームバッファテクスチャのグリッチ
GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, texture[i]);
GLES20.glTexImage2D(GLES20.GL_TEXTURE_2D, 0, GLES20.GL_RGBA, width, height, 0, GLES20.GL_RGBA, GLES20.GL_UNSIGNED_BYTE, null);
GLES20.glTexParameterf(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_MIN_FILTER, GLES20.GL_LINEAR);
GLES20.glTexParameterf(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_MAG_FILTER, GLES20.GL_LINEAR);
GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_WRAP_S, GLES20.GL_CLAMP_TO_EDGE);
GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_WRAP_T, GLES20.GL_CLAMP_TO_EDGE);
GLES20.glBindFramebuffer(GLES20.GL_FRAMEBUFFER, framebuffer[i]);
GLES20.glFramebufferTexture2D(GLES20.GL_FRAMEBUFFER, GLES20.GL_COLOR_ATTACHMENT0, GLES20.GL_TEXTURE_2D, texture[i], 0);
if(GLES20.glCheckFramebufferStatus(GLES20.GL_FRAMEBUFFER) != GLES20.GL_FRAMEBUFFER_COMPLETE) {
// ...
: 私は三星銀河Y S5360に作られたスクリーンショット(私はこの問題は、他のデバイス上で発生した場合に認識していないよ)だけでなく、オフスクリーンフレームバッファ/テクスチャの作成を担当するコードを付加しています
を参照してください持っています。 Galaxy Yについて何が間違っているのか誰も考えていませんか? – cplusogl
私はGalaxy Yのゲームで(そしてそのデバイスでのみ)まったく同じ問題を抱えています。私が直接描画するものはすべて動作し、フレームバッファオブジェクトの中には同じグリッチがあります。いくつかのテストを行い、グリッチは特定のサイズでしか発生しませんが、解決策を探しています。何とか問題を解決しましたか? – fbafelipe
残念ながら、問題をテストできるデバイスはありません。解決策が見つかると、ここに投稿してください。幸運 – cplusogl