2012-03-22 5 views
1

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) { 
// ... 

Bad rendering: 私は三星銀河Y S5360に作られたスクリーンショット(私はこの問題は、他のデバイス上で発生した場合に認識していないよ)だけでなく、オフスクリーンフレームバッファ/テクスチャの作成を担当するコードを付加しています

+0

を参照してください持っています。 Galaxy Yについて何が間違っているのか誰も考えていませんか? – cplusogl

+0

私はGalaxy Yのゲームで(そしてそのデバイスでのみ)まったく同じ問題を抱えています。私が直接描画するものはすべて動作し、フレームバッファオブジェクトの中には同じグリッチがあります。いくつかのテストを行い、グリッチは特定のサイズでしか発生しませんが、解決策を探しています。何とか問題を解決しましたか? – fbafelipe

+0

残念ながら、問題をテストできるデバイスはありません。解決策が見つかると、ここに投稿してください。幸運 – cplusogl

答えて

0

私は間違っていない場合は、三星銀河Y S5360は、唯一のOpenGL ES-CM 1.1は、問題のまだそこhttp://geekprison.com/2163-samsung-galaxy-y-s5360-pricespecification-announced-for-india/

+0

面白いですが、OpenGL ES 2.0(OpenGLサーフェスを作成するときにイベントが発生しました。適切な関数呼び出しがあります)というイベントを使用していることをManifestファイルに明示しています。したがって、Samsung Galaxy Yがサポートしていない2.0のバージョンでは、誰も市場からダウンロードすることができなかっただろうと推測しています。現在、私は上記の問題がまだ発生しているので、Google PlayからS5360を除外しました。したがって、私はそうではないと思います。 – cplusogl

関連する問題