Mac下dds格式图像转pvr

游戏移植时有个需求要一个命令行工具把dds图像转换成mac下效率更高的pvr图像,在网上找了很久,有以下几个工具:

  • Imagination 有一套工具 PVRTexTool ,可以将各种图像格式转换成 pvr 格式,但是只在 windows 下支持 dds 格式的转换,另外还有一套SDK,但是由于网络问题实在下不动,只好想别的办法. PVRTexTool在新浪爱问上有人共享,2.10版本有问题不能用,2.08版本就比较正常.官网传送门->http://www.imgtec.com/powervr/insider/powervr-pvrtextool.asp
  • Ios sdk 里带了一个 texturetool, 可以将 png 转换成 pvr, 但是只支持方形纹理转换.
  • Nvidia 提供了一套工具支持 dds 格式的转换,也是 windows 版的, 我放到mac下编译了一下,有两个小错误改了改就编译成功了, 其中的 nvdecompress 工具可以将 dds 格式解码成 tga 格式,传送门:https://developer.nvidia.com/content/texture-tools-208-64-bit

最终的解决方案是用 nvdecompress 将 dds 转换成 tga , 然后用 PVRTexToolCL 将 tga 转换成 pvr.

后记:最后还是写了一个转码工具,利用官方的 pvrtexlib, 里面有个 transcode 函数可以在 pvr 支持的各种格式之间转码,还比较方便,另外发现国外某大牛把压缩算法写出来了,回头仔细研究一下。传送门->https://sites.google.com/site/richgel99/early-pvrtc-compression-experiments