使用ImageMagick命令行实用程序使用DXT5压缩算法将png正确转换为DDS文件时遇到了一些困难。
convert -format dds -define dds:compression=dxt5 leia.png leia.dds
这是使用Version: ImageMagick 6.8.9-10 Q16 x86_64 2016-09-14
完成的。我可以在本地查看该文件,因此看起来是正确的。然而,当我将它加载到OpenGL中时,我只是看到了整个地方的伪影(随机颜色像素)。要确认生成的文件是DDS文件:
od -bc leia.dds | head
生成了:
$ od -bc leia.dds | head
0000000 104 104 123 040 174 000 000 000 007 020 010 000 356 002 000 000
D D S | \0 \0 \0 \a 020 \b \0 356 002 \0 \0
0000020 024 003 000 000 120 014 000 000 000 000 000 000 001 000 000 000
024 003 \0 \0 P \f \0 \0 \0 \0 \0 \0 001 \0 \0 \0
0000040 111 115 101 107 105 115 101 107 111 103 113 000 000 000 000 000
I M A G E M A G I C K \0 \0 \0 \0 \0
0000060 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000
\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0000100 000 000 000 000 000 000 000 000 000 000 000 000 040 000 000 000
\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
您可以看到标题的第一部分,其中包含DDS
标题。
所以对于咯咯笑,我决定,嘿,也许我应该尝试使用a separate utility转换这个图像,只是为了确保文件没有任何问题。当我将此文件加载到OpenGL时,它可以正常工作。
下载文件后,我再次检查了标题并看到:
od -bc leia-online.dds | head
0000000 104 104 123 040 174 000 000 000 007 020 010 000 356 002 000 000
D D S | \0 \0 \0 \a 020 \b \0 356 002 \0 \0
0000020 024 003 000 000 300 012 011 000 000 000 000 000 001 000 000 000
024 003 \0 \0 300 \n \t \0 \0 \0 \0 \0 001 \0 \0 \0
0000040 111 115 101 107 105 115 101 107 111 103 113 000 000 000 000 000
I M A G E M A G I C K \0 \0 \0 \0 \0
0000060 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000
\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0000100 000 000 000 000 000 000 000 000 000 000 000 000 040 000 000 000
\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
120 014 000 000
与在线结果:300 012 011 000
。根据{{3}}索引20-23指向'字节数'基本上,我的基本问题是:如何使用ImageMagick将png文件正确转换为dds纹理?
更新:
在线imagemagick生成了图片标题:
width: 788 height: 750 linearSize: 592576 mipmap_count: 1
我的本地版imagemagick生成了图片标题:
width: 788 height: 750 linearSize: 3152 mipmap_count: 1
所以我想知道我是否在某个地方错过了一个标志,以便正确编写在线版本可能正在使用的标题?
答案 0 :(得分:2)
事实证明,这只是我ImageMagick
版本的问题。从
ImageMagick 6.8.9-10 Q16 x86_64 2016-09-14 http://www.imagemagick.org
到
ImageMagick 7.0.6-0 Q16 x86_64 2017-06-12 http://www.imagemagick.org
修好了。感谢大家的帮助!