我想加载一个包含RGBA 8888格式纹理的字节数组。
The OpenGL ES docs提供4个常量:GL_UNSIGNED_BYTE,GL_UNSIGNED_SHORT_5_6_5,GL_UNSIGNED_SHORT_4_4_4_4和GL_UNSIGNED_SHORT_5_5_5_1。
在regular OpenGL上,有一个符合我需要的值GL_UNSIGNED_INT_8_8_8_8,并且数字被解释为:
例如,如果internalFormat是GL_R3_G3_B2,则要求纹素为3位红色,3位绿色和2位蓝色。
因此GL_UNSIGNED_INT_8_8_8_8必须是8位R,8位G和8位B和8位A.
但是GL_UNSIGNED_BYTE在ES平台上意味着什么?它将如何解释? (R,G,B和A有多少位?)
答案 0 :(得分:6)
GL_UNSIGNED_BYTE应使用格式GL_RGBA,每个组件提供8位。