テクスチャを作成するときに独自のミップマップを作成しています。GL_LINEAR_MIPMAP_NEAREST(または任意のMIPMAP)を介してミップマップを有効にすると、テクスチャは非常に暗くぼやけた混乱になります。GL_LINEARに切り替えれば大丈夫です。
テクスチャを作成する方法は次のとおりです。
glGenTextures(1, &m_TextureId);
glBindTexture( GL_TEXTURE_2D, id );
int level = 0;
jobject mippedBitmap = srcBitmap;
while (width >= 2 && height >= 2) {
jniEnv->CallStaticVoidMethod(s_GLUtilsClass, s_texImage2DMethodID,
GL_TEXTURE_2D, level, mippedBitmap, 0);
width >>= 1;
height >>= 1;
level++;
mippedBitmap = createScaledBitmap(jniEnv, srcBitmap, width, height, true);
}
簡潔にするために、すべてのBitmap.recycle()/ NewGlobalRef()呼び出しを省略しました。createScaledBitmap
明らかに、Bitmap.createScaledBitmap()へのJNI呼び出しです。
また、ビットマップのフォーマットとタイプを使用する他のバージョンのtexImage2Dも試しました。常にRGBAであることを確認しました。
編集:テクスチャを詳しく説明するために-それらは実際にはほとんど黒です。明るい色のミップでeraseColor()を試しましたが、まだ非常に暗いです。