动画中的PVR压缩 - iphone sdk

时间:2009-06-23 07:07:18

标签: iphone animation sdk compression png

im动画89帧png序列,通过每512 x 512帧放置两帧来减少一半。但我有重要的图像质量问题(有损)

有没有人知道动画89帧动画的好方法,而不会损失质量或使处理器消失?

一切顺利。

2 个答案:

答案 0 :(得分:4)

PVRTC肯定会让你的图像看起来有损,但有办法解决这个问题。使用纹理图集可能会有所帮助,因为PVRTC通常会弄乱图像的边缘,并导致透明度问题。 我还会尝试关闭你拥有的任何mipmap过滤器(最近和线性过滤器,但特别是最近的,当与PVRTC结合使用时,可以使它看起来更模糊)并尝试打开线性纹理过滤器,它将混合一切,使损失不那么明显,只是看起来有点模糊。您还可以将图像保存得比绘制它们大(即使用PVRTC压缩512x512图像,但将其绘制为256x256)。 2BPP PVRTC将使纹理占用RGBA 4444的1/8内存,因此即使增加这样的大小(占用4倍的内存)也可以节省2倍。但是,如果您只是使用4BPP,那么如果您需要将图像大小调整一倍,那么您可以使用RGBA 4444。

对于需要更详细的大图,PVRTC通常不是一个好策略。对于图标等,您可以看到显着的节省,特别是因为您可以将它们绘制得更小。

Mipmap是这样制作的(不要这样做):
glGenerateMipmapOES(GL_TEXTURE_2D);

你可以打开这样的线性纹理滤镜:
GL_TEXTURE_2D

你肯定想要这样做: glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);

答案 1 :(得分:0)

我正在使用cocos2d做类似的项目。如果每个纹理执行一个图像或者可能尝试使用RGBA 4444格式,您的图像可能看起来更好。

但如果你确实使用cocos2d,那就非常简单了。一旦你下载了cocos2d,就会有非常好的示例代码。

http://www.cocos2d-iphone.org/archives/61

相关问题