如何将JPG或PNG文件转换为RGB_565格式并加载到android中的opengles 2.0?

时间:2011-12-14 03:27:15

标签: android opengl-es opengl-es-2.0 textures

我正在使用Opengl es 2.0开发Android应用程序。目前我正在为纹理加载一个大小为2048x2048的巨大文件。我基本上有很多256x256图像合并到这个大文件中,以节省加载到应用程序的时间。我知道通过将这个jpg文件转换为RGB_565我可以节省一些meory,并加载更快。

我试图谷歌这个,但没有找到任何直接的方法将jpg转换为RGB_565格式加载到opengl。当我尝试使用扩展名为RGB_565将正常的jpg加载到opengl时,我只会得到一个黑屏。请让我知道如何将简单的jpg文件转换为可以加载更快的格式,例如RGB_565格式。

另外请让我知道你在使用android处理纹理时的想法,以使android应用程序加载更快,并提供良好的性能结果。

1 个答案:

答案 0 :(得分:0)

普通JPEG是24位。如果你想要一个565纹理,你必须在解码期间或解码后但在纹理加载之前进行转码。如果您在解码时遇到瓶颈,这对您没有帮助;如果您在上传时遇到瓶颈,预计它会导致不超过33%的加速。

如果您当前正在使用JPEG作为纹理,则不需要担心Alpha通道。根据您的质量需求,使用ETC1-(或特定于设备的压缩 - 如果您使用PVR GPU,PVRTC非常好)压缩纹理将在上传时间和解码时间方面有更大的改进。