iPhone上的PVR压缩 - 2D精灵的任何提示?

时间:2009-07-27 06:31:44

标签: iphone opengl-es

我正在进行2D游戏并使用64x64纹理来绘制我的角色。它基本上看起来像超级马里奥兄弟,每个角色有大约10帧构成他们的整个动画序列。

pvr工具听起来很有前途,它将我的图像压缩到每个4kb,非常棒。但质量很差。我不认为我能做些什么,但想要仔细检查。每个帧都是某个姿势中的字符,透明像素填充64x64空间的其余部分。我以某种方式在透明区域中填充像素,奇怪的工件使输出pvr变得无用(这不是错误,我认为它只是pvr的工作方式)。我可能会在角色本身中获得一些研究,但不会在透明区域突然出现随机像素。

这周围有什么诡计吗?我认为我们在iPhone上只有大约10mb的内存,所以如果我的每张图像都是64x64像素未压缩的话,我会稍微耗尽一些空间,因为每个都会是惊人的16k。

由于

2 个答案:

答案 0 :(得分:0)

至少你应该通过使用16位纹理来减少一半的内存。在Cocos2D中,您可以使用

完成
[Texture2D setDefaultAlphaPixelFormat:kTexture2DPixelFormat_RGBA4444]; // add this line at the very beginning

有关Cocos2D中pixel format的更多信息

如果您使用原始OpenGL进行编程,请查看Cocos2D sources

答案 1 :(得分:0)

我发现稍微改进的一件事是使用比他们需要的更大的图像,然后将它们缩小到实际尺寸。这隐藏了一些工件,但显然你不会节省太多内存。

那说最后我们放弃了为2d精灵使用pvr纹理,因为我们无法获得我们所需的图像质量,无论我们多么努力,总会看到一些工件。

另外我相信你实际上有24mb的视频内存可供使用,所以你可能有比你未经压缩的精灵更多的空间。