私はこの Samsung Galaxy ACE GT-S5830 Android フォンを持っています。Adreno-200 GPU を搭載しています。
ETC (Ericsson Compression format) のサポートがあることを期待していましたが、読み込めないようです。
gl.glGetString(GL10.GL_EXTENSIONS) 関数には GL_OES_compressed_ETC1_RGB8_texture 拡張が含まれていますが。
しかし、android.opengl.ETC1Util.isETC1Supported() は false を返します??? これはとても奇妙です。
ファイルを .pkm 形式に変換しました。これがテクスチャをロードする方法ですが、テクスチャがロードされていないことを示す白い画面しか表示されません。:
InputStream is= _context.getAssets().open("etc/hands_tex.pkm");
gl.glActiveTexture(GL10.GL_TEXTURE0); //texture unit to load texture to.
gl.glBindTexture(GL10.GL_TEXTURE_2D, glTextureId);
try {
ETC1Texture etc1tex = ETC1Util.createTexture(is);
ByteBuffer bb = etc1tex.getData();
gl.glCompressedTexImage2D(GL10.GL_TEXTURE_2D, level, ETC1.ETC1_RGB8_OES, etc1tex.getWidth(), etc1tex.getHeight(), 0, bb.capacity(), bb);
} catch (IOException e) {
e.printStackTrace();
}
上記の ETC1Util.createTexture() への呼び出しが機能し、メモリ内にテクスチャ オブジェクトを作成しても。