Dr_Shame 说:
Example sent. There were no special settings used, i only selected the format for compression (dxt1, dxt5 ...) and that was it.
Took a look, compared both versions of the DXT1 file you sent to me, the original one that appeared black in Linux/Mac, and the recompressed one. They are almost identical, they even have the same bitwise flags, even optional ones.
Differences I've found out in their headers:
- The
Nvidia compression tool did set the
field, but without setting either the
or
bit in
(That might inconsistent, but still normal, checked out a bunch of DXT1 textures and exporters seem to set them randomly, wtf?!).
The original texture didn't had
set, and that might be the actual problem because it's the field telling the loader the actual size of the image part that comes next, even if it can be sort of guessed by the better loaders. (??)
- Looks like the
Nvidia compression tool fills a signature (
) and an uint8_t (
, which is
in hexadecimal) in the
area. But that seems like a harmless version number and shouldn't affect the loading, anything following the MS spec should skip that.
If somebody (Dr_Shame?) wants to take a look or try my modded original file to see if appears correctly in Linux/Mac, here you have it:
插入代码块:
https://dl.dropboxusercontent.com/u/108770784/gallic_boots_modded_header_swyter_dxt1.dds
--
So, to sum up: Shoddy work of compressors and decompressors all around, seems like the Nvidia plugins work best (Photoshop/NVTT). GIMP DDS is awesome too (I don't normally use that word, but the codebase is excellent).
Just don't use other lamer software which doesn't write minimally spec-correct headers and you are good to go. Things like DXTBmp or Paint.Net, you get the idea.
All the textures from
The Last Days seem to appear correctly in Linux. So that says a lot of the modders behind it.