iphone - 动画中的 PVR 压缩 - iphone sdk

标签 iphone animation sdk compression png

我正在制作一个 89 帧 png 序列的动画,通过每 512 x 512 帧放置两帧,该序列已减少一半。但我有主要的图像质量问题(有损)

有谁知道制作 89 帧动画的好方法,而不会降低质量或对处理器造成影响?

祝一切顺利。

最佳答案

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

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

Mipmap 的制作方式如下(不要这样做):
glGenerateMipmapOES(<code>GL_TEXTURE_2D</code>);

您可以像这样打开线性纹理过滤器:
glTexParameteri(<code>GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR</code>); glTexParameteri(<code>GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR</code>);

您绝对不想这样做:
glTexParameteri(<code>GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR</code>); glTexParameteri(<code>GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR_MIPMAP_LINEAR</code>);

关于iphone - 动画中的 PVR 压缩 - iphone sdk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1031037/

相关文章:

ios - 使用 XCode 4.5.1 分发时出错

objective-c - MKMapView Overlay(图像动画)

javascript - 如何使动画 <div> 仅在另一个 <div> 内可见

javascript - Slidingbar.js动画不流畅

iphone - Facebook iOS SDK 不返回用户电子邮件

php - 如何从 Amazon S3 ListObjects 迭代器获取 CommonPrefixes

android - 使用android:versionCode和Bundle版本> 1发布Android Market和iOS应用商店的应用?

iphone - iOS 5 中无效的 MKMapView 区域

iphone - 在 iOS 7 上运行应用程序时显示黑条(4 英寸视网膜显示屏)

android - .android 文件夹中没有 debug.keystore