現在、OpenGL ES 1.1 で動作する Android アプリケーションを作成しています。私が開発したHTC Desire(Android 2.3.7)では問題なく動作しました。Nexus 7でテストしたかったのですが、黒い画面しか表示されません。すべてのテクスチャが単純に黒くレンダリングされていることがわかりました。オブジェクトもテクスチャもレンダリングされていない部分では、(ほぼ) 黒の背景色が表示されます。
私の質問は、一部のデバイスではテクスチャがうまくレンダリングされ、他のデバイスではレンダリングされないのはなぜですか?
テクスチャはすべて、サイズが 2 乗の 2 次です (つまり、512x512、1024x1024)。テクスチャの作成時に使用される設定は次のとおりです。
gl.glBindTexture(GL10.GL_TEXTURE_2D, getTextureId());
// Create Nearest Filtered Texture
gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MIN_FILTER,
GL10.GL_LINEAR);
gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MAG_FILTER,
GL10.GL_LINEAR);
// Different possible texture parameters, e.g. GL10.GL_CLAMP_TO_EDGE
gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_S,
GL10.GL_CLAMP_TO_EDGE);
gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_T,
GL10.GL_REPEAT);
gl.glTexEnvf(GL10.GL_TEXTURE_ENV, GL10.GL_TEXTURE_ENV_MODE, /*GL10.GL_REPLACE*/ GL10.GL_MODULATE);
// Use the Android GLUtils to specify a two-dimensional texture image
// from our bitmap
GLUtils.texImage2D(GL10.GL_TEXTURE_2D, 0, bitmap, 0);
両方のデバイスでテクスチャをレンダリングするにはどうすればよいですか?