我需要在OS X上查看iPhone应用程序(*.pvr)中的一些PVRTC压缩纹理.
是否有观众或格式转换器?
我是一名iPhone开发人员,我有一些PVRTC文件,但丢失了原始资源.现在,我正试着把它带到网上,我想把它们转换成PNG.
我怎么做?我试过PVRTexTool,但无法弄清楚正确的控件.
我正在完成一本iphone 3d编程书
本书说要将以下python代码添加到xcode的构建阶段,以运行提供的texturetool.
书报价
一个.将shell保留为/ bin/sh.
湾 直接在脚本框中输入:
Run Code Online (Sandbox Code Playgroud)BIN=${PLATFORM_DIR}/../iPhoneOS.platform/Developer/usr/bin INFILE=${SRCROOT}/Textures/Grid16.png OUTFILE=${SRCROOT}/Textures/Grid16.pvr ${BIN}/texturetool -m -f PVR -e PVRTC $INFILE -o $OUTFILE
C.将其添加到输入文件:
Run Code Online (Sandbox Code Playgroud)$(SRCROOT)/Textures/Grid16.png
将其添加到输出文件:
Run Code Online (Sandbox Code Playgroud)$(SRCROOT)/Textures/Grid16.pvr
但是,在执行此操作时,我收到以下消息.
Failed to load image
Failed to perform Encode
Command /bin/sh failed with exit code 1
Run Code Online (Sandbox Code Playgroud)
任何人都可以对此有所了解吗?
对于iPhone游戏开发,我为了性能而从PNG格式切换到PVRTC格式.但是PVRTC压缩正在创建比PNG文件大得多的文件.因此,一个140 KB(1024x1024)的PNG在PVRTC格式中膨胀到512 KB或更多.我在某处读到一个50KB的PNG文件被压缩到大约10KB,所有,在我的情况下,它的另一种方式..
任何理由为什么会这样发生以及如何避免这种情况..如果PVRTC压缩盲目地进行4bpp转换(1024x1024x0.5)而不考虑PNG中的透明度,那么我们在这里实现的压缩是什么.
我的游戏中有100个这样的1024x1024图像,因为有很多角色各自做一些复杂的动画..所以在这个512KB的图像速率下,我的应用程序将超过50MB ..这对我的客户来说是不可接受的..(与PNG,我本可以将我的应用程序设置为10MB)
我有一个很大的png纹理4096x4096,我需要加载内存中的部分内容.我已经将大png纹理拆分为16个1024x1024磁贴,然后将它们转换为PVR压缩文件.
问题是当我绘制这些图块时,图块之间的边缘与png不同.所以,我认为如果有一个工具来生成一个4096x4096 PVR纹理然后将其分成16个1024x1024 PVR磁贴?
我想知道命令行程序texturetool的替代方法,它随XCode一起用于将PNG图像转换为PowerVR压缩图像.
由于某种原因,texturetool需要大约50秒来转换我正在使用的一些图像.要压缩大约130万像素,需要几个月的时间.
现在我正在寻找在Linux或OSX上运行的其他工具,最好是内存中的C++库,因为图像是在程序上生成的.
很想得到答案.
谢谢.
对于iPhone游戏开发,我为了性能而从PNG格式切换到PVRTC格式.但是PVRTC压缩会破坏图像的质量.我正在使用具有透明度的spritesheets来制作角色动画.而pvrtc使得边缘在透明胶片附近看起来很混乱.
我读到pvrtc无法处理边缘和所有..但是它有解决方案吗?我们可以对这些图像做些什么,至少在这个角色周围不会有这些泥泞的边界.
桑卡尔
来自Windows背景,我习惯的唯一压缩文件格式是DDS,它使用S3 DXT压缩.
我不确定iOS设备是否支持DDS,以及可能有哪些其他选项?我听说过爱立信纹理压缩(ETC)和PVRTC之类的东西,但我不明白它们是如何组合在一起的,以及它们对特定硬件功能的依赖程度.
pvrtc ×8
iphone ×5
compression ×3
ios ×3
png ×2
dds-format ×1
image ×1
macos ×1
objective-c ×1
opengl-es ×1
textures ×1
xcode ×1