如何在Android的OpenGl-ES 2.0上设置8位纹理?

时间:2012-01-07 13:05:59

标签: android opengl-es

我想在android opengl-es 2.0上使用8位纹理(我每个像素只需要256个值),并且想知道我是如何用glTexImage2D设置它的。

GL_ALPHA8会起作用吗?

我没有找到android支持的任何标准支持的纹理格式列表(或者至少大多数设备至少具有android 2.2和opengl 2.0)。我现在没有设备可以测试它,所以我真的想要一些建议。

这是因为我想为我的片段着色器使用一个纹理,它尽量减少内存,只需要保存256个值。

1 个答案:

答案 0 :(得分:0)

来自官方的openGL ES文档:

glTexImage2D中的

类型参数:

  

指定纹素数据的数据类型。接受以下符号值:GL_UNSIGNED_BYTE,GL_UNSIGNED_SHORT_5_6_5,GL_UNSIGNED_SHORT_4_4_4_4和GL_UNSIGNED_SHORT_5_5_5_1。

如果你想使用这个功能,你必须选择其中一个:) 当一个字节包含8位时,你最有可能搜索GL_UNSIGNED_BYTE:D