Nexus Oneで動作するOpenGLコードは、Nexus Sでは正常に動作しません。 テクスチャはレンダリングされていないように見えます。Nexus SのOpenGL ESブラックテクスチャ
誰でもアイデアがありますか?
Nexus Oneで動作するOpenGLコードは、Nexus Sでは正常に動作しません。 テクスチャはレンダリングされていないように見えます。Nexus SのOpenGL ESブラックテクスチャ
誰でもアイデアがありますか?
accepted answer given hereアドレスでなければなりませんが、この黒い画面の問題はネクサスから起こるんがS(および他のいくつかのデバイス)が2の累乗テクスチャについて厳密である場合、は、テクスチャがPo2の寸法を持つ必要があるということを意味しません。テクスチャローディングコードで
、一方が次の行有していてもよい:
GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_MIN_FILTER, GLES20.GL_NEAREST);
GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_MAG_FILTER, GLES20.GL_NEAREST);
をこのコードをクランプするための2つの行を追加するように変更された場合、その後電話は支持nPo2テクスチャは、一つを提供しますですクランプでOK。追加されたクランプを使用したコードは次のとおりです。
GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_MIN_FILTER, GLES20.GL_NEAREST);
GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_MAG_FILTER, GLES20.GL_NEAREST);
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);
Nexus Sは、OpenGL ESのテクスチャとして使用されるイメージのサイズよりも厳密です。私は意志よりも
テクスチャはもう少し深さでこの問題2^n個のサイズ(例えば256、512、1024など)
GL_CLAMP_TO_EDGEを使用してこの問題を回避することはできますか? –
コードを貼り付けることをお勧めします。まず、テクスチャユニットを有効にしていますか? –