ios - iOS 上的动态 PVRTC 压缩

标签 ios compression textures

我正在编写一个 GPU 内存占用非常大的 iPhone 应用程序。一些纹理是由应用程序按程序创建的,这意味着我无法将它们压缩到 PVRTC 以减少它们在 GPU 上的大小(从而减少内存)。 有谁知道这样做的图书馆吗? 我找到的最接近的是 PVRTexLib ( http://www.imgtec.com/powervr/insider/powervr-pvrtexlib.asp ),但它适用于 MacOSX,而​​不适用于 iOS。

我发现了这个类似的问题:Convert .png to PVRTC *on* the iPhone但他们把它带到了不同的方向(为什么你不应该这样做)。 但是,我的应用程序使用 OpenGL,因此能够使用 PVRTC 使我受益匪浅。

有人知道这样的图书馆吗?

最佳答案

Imagination 的 PVRTexTool 包括一个 SDK 和一个预编译库,适用于包括 arm 在内的多种平台。这应该可以链接到 iPhone 可执行文件。

https://community.imgtec.com/developers/powervr/tools/pvrtextool/

但是,也许更有趣的是,您能否编写根据需要重新映射颜色的着色器?如果您可以在着色器中应用所需的功能,则根本不需要重新压缩纹理或更改它的位。

关于ios - iOS 上的动态 PVRTC 压缩,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11717512/

相关文章:

尝试呈现 SDL_Texture : Invalid texture 时出现 C++ SDL2 错误

opengl - 如何将纹理的所有像素设置为一个值?

ios - 带有 PFObjects 的多个部分 UITableViewController

ios - Swift 中的@IBOutlet 变量

java - CSV 文件在压缩后被更改为字节数组

c - 如何使用 C 压缩字符串并用其计数替换重复项?

java - 为霍夫曼编码写入位

ios - 从 App Delegate swift 执行 Segue

ios - tableView滚动然后progressView圆角半径自动改变

android - java.lang.Error : signal 11 (SIGSEGV), 代码 1 (SEGV_MAPERR) Unity Spine Android