Создание растрового изображения из байтового массива с помощью OpenGL в Android - PullRequest
1 голос
/ 27 августа 2011

У меня есть ByteArray и я хочу создать растровое изображение из него с помощью OpenGL. В Android есть метод decodeByteArray(), который возвращает объект Bitmap, который можно нарисовать на ImageView.

Какой эквивалентный метод доступен в OpenGL?

1 Ответ

0 голосов
/ 27 августа 2011

В OpenGL (ES) нет эквивалентной функции, поскольку она является чистым API и не предназначена для декодирования байтовых массивов. Однако, если вы хотите применить некоторую текстуру к вашей модели, вы можете использовать такой подход:

gl.glGenTextures(1, textures, 0);
gl.glBindTexture(GL10.GL_TEXTURE_2D, textures[0]);

gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MIN_FILTER,GL10.GL_NEAREST);
gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MAG_FILTER,GL10.GL_LINEAR);

gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_S,GL10.GL_REPEAT);
gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_T,GL10.GL_REPEAT);

GLUtils.texImage2D(GL10.GL_TEXTURE_2D, 0, texture, 0);

texture.recycle();
...