[cocos2dx]OPENGL ES支持的像素格式

OPENGL ES最多支持32位颜色值。

支持的像素格式有以下几种:

客户端格式 GL格式 GL数据类型 字节数
RGBA8888 GL_RGBA GL_UNSIGNED_BYTE 4
RGB888 GL_RGB GL_UNSIGNED_BYTE 3
RGB5A1 GL_RGBA GL_UNSIGNED_SHORT_5_5_5_1 2
RGB565 GL_RGB GL_UNSIGNED_SHORT_5_6_5 2
RGBA4444 GL_RGBA GL_UNSIGNED_SHORT_4_4_4_4 2
AI88 GL_LUMINANCE_ALPHA GL_UNSIGNED_BYTE 2
I8 GL_LUMINANCE GL_UNSIGNED_BYTE 1
A8 GL_ALPHA GL_UNSIGNED_BYTE 1


RGB888和RGBA8888相差了ALPHA通道的8位,在大多数情况下,ALPHA通道的值都是1,此时就应该使用RGB888格式来存储,既节约了内存空间,也提高了渲染性能。

同样占2字节的格式中也有区别:

RGB565格式放弃了ALPHA通道,但提高了RGB颜色的精度,(由于人类的视觉对绿色更敏感,所以G通道是6位)。

RGB5A1格式只有1位表示ALPHA值,适用于字体或者蒙版。

RGBA4444格式就是RGBA8888格式的简化版,丢失了一些精度,但可以节省一半的内存。

原文地址:https://www.cnblogs.com/Pickcle/p/4923584.html