Как создать текстуру 1024x1024 с одним 8-битным значением на пиксель в Java для Android OpenGL-ES 2.0? - PullRequest
0 голосов
/ 13 января 2012

Как уже сказано в заголовке, я хотел бы знать, как создать текстуру 1024x1024 с одним 8-битным значением в Java для Android OpenGL-ES 2.0.Причина этого в том, что мне нужно только 8-битные значения, и я не хочу тратить остальные 24-битные в RGBA-текстуре, которые будут 4 МБ вместо 1 МБ.

Единственный способ установить текстуры в Java, который я знаю, - это:

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

Но я не знаю, имеет ли это какое-то значение здесь, или мне нужно делать то, чтоЯ хочу использовать другой метод, или если единственный способ добиться этого - использовать NDK.

Я бы хотел использовать это значение как альфа для шейдера, но это не очень важно, чем оно является, потому что я могу установитьчто в шейдере.

Кто-нибудь знает, как это возможно в Java?

1 Ответ

0 голосов
/ 25 января 2012

Способ

GLUtils.texImage2D (int target, int level, int internalformat, Bitmap bitmap, int type, int border)

позволяет выбрать внутренний формат текстуры.

http://www.opengl.org/resources/code/samples/sig99/advanced99/notes/node51.html

В этой сети вы объяснили существующие форматы. Кстати, ALPHA8 , похоже, соответствует всем требованиям.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...