在Android平台上,早期支持OpenGL ES 2.0的设备通常只支持**ETC1(Ericsson Texture Compression, Format 1)**纹理压缩格式。ETC1是OpenGL ES 2.0规范中唯一强制支持的压缩纹理格式,因此几乎所有支持OpenGL ES 2.0的设备都必须支持ETC1。
ETC1格式的特点及限制
- 不支持Alpha通道:ETC1格式只压缩RGB三个颜色通道,不包含Alpha通道信息。
- 压缩效率高:相比未压缩纹理,ETC1能显著减少纹理内存占用和带宽。
- 硬件解码:由GPU硬件直接解码,性能优越。
为什么早期设备只能支持ETC1?
- OpenGL ES 2.0规范中,ETC1是唯一强制支持的压缩纹理格式。
- 其他压缩格式(如ETC2、PVRTC、ASTC、DXT等)是后续版本或厂商扩展支持。
- 因此,早期设备硬件和驱动只实现了ETC1。
解决Alpha通道限制的常见方案
-
分离Alpha纹理