Может кто-нибудь сказать мне, как png файл в PaletteTexture?Я провел много исследований и нашел glCompressedTexImage2D, но, похоже, весь пример показывает, как генерировать текстуру палитры из некоторых жестких кодовых номеров, а не из файла изображения.Может кто-нибудь показать мне фрагмент кода или ссылку?Большое спасибо !!
Теперь я попытался извлечь пиксели из растрового изображения, созданного из файла png, а затем попытался сгенерировать текстуру палитры из извлеченных пикселей.Но я вижу только белый квадрат, я поставил здесь код, чтобы кто-нибудь помог мне!
Bitmap originalBitmap = BitmapFactory.decodeStream(is);
int[] pixels = new int[originalBitmap.getHeight()*originalBitmap.getWidth()];
originalBitmap.getPixels(pixels, 0, originalBitmap.getWidth(), 0, 0, originalBitmap.getWidth(), originalBitmap.getHeight());
textureInfo.source = iFile;
gl.glGenTextures(1, textureInfo.textures, 0);
gl.glBindTexture(GL10.GL_TEXTURE_2D, textureInfo.textures[0]);
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);
byte[] textureData = new byte[pixels.length];
for (int i = 0; i < textureData.length; i++) {
textureData[i] = new Integer(pixels[i]).byteValue();
}
int size = textureData.length;
ByteBuffer bb = ByteBuffer.allocateDirect(size);
bb.put(textureData);
bb.position(0);
gl.glCompressedTexImage2D(GL10.GL_TEXTURE_2D, -2, GL10.GL_PALETTE4_RGB8_OES, originalBitmap.getWidth(), h, originalBitmap.getHeight(),size, bb);