次の呼び出しを使用して、Android で ETC テクスチャを正常に作成およびロードできます。
ETC1Texture etc1tex = new ETC1Texture(...);
gl11.glCompressedTexImage2D(GL10.GL_TEXTURE_2D, 0/*level*/,
ETC1.ETC1_RGB8_OES/*internal format*/,
etc1tex.getWidth(), etc1tex.getHeight(),
0/*border*/,
etc1tex.getData().capacity()/*imagesize*/,
etc1tex.getData());
しかし、このテクスチャを新しい画像データで更新する必要があります。SubImage への呼び出しを使用しています:
GL11.glCompressedTexSubImage2D( GL10.GL_TEXTURE_2D, 0/*level*/,
0, 0, etc1tex.getWidth(), etc1tex.getHeight(),
ETC1.ETC1_RGB8_OES,
etc1tex.getData().capacity(),
etc1tex.getData());
これは、前の呼び出しとほぼ同じパラメーターを取ります。しかし、それは機能していません。私のテクスチャは少しも変わりません。
しかし、SubImage 呼び出しを最初のものに単純に置き換えると、更新時にテクスチャに歪みが見られます...
この CompressedTexSubImage 呼び出しを使用する方法を知っている人はいますか