Home Technical Talk

DDS Compression Tool Options: Whats the best of the best?

polycounter lvl 18
Offline / Send Message
oXYnary polycounter lvl 18
I'm stuck with non dxt-n for normal maps. So red channel is going to be in pain especially. I have noticed differences in output between gimp and photoshops plugin. Photoshop being much less artifact ridden and smooth. Not nearly enough though.

IS Nvidias PS plugin the best? Or is there another? I know Nvidia has command line for batch processing. But I assume the underlying compression engine is the same.

Replies

  • Eric Chadwick
    IIRC, the newer NVIDIA cmd-line has an algorithm improved over the PS plugin's algo. There are other algorithms, but if you're stuck with DXT1, your image quality is gonna suck no matter what. You need to fight for DXT5_nm. It does a much better job simply because its alpha channel uses a higher bit depth than any one of its RGB channels.

    To make it you simply move X into the Alpha, leave Y in the Green, and you change Red & Blue to both be blank (any color is fine, as long as its the same for both). The blank colors are simply there to make the algorithm "ignore" those channels, so you get less artifacts in Green. Then you save as a regular DXT5.

    Very simple to support this, though it does require that your shader recalculates the Z.
  • Whargoul
    Offline / Send Message
    Whargoul polycounter lvl 18
    If you're tricky, you can also put white in the Red channel.... why? Then you can use the same shader no matter which method you use to store it!

    normal.x = texture.r * texture.a
    normal.y = texture.g

    Tricky eh? If you have standard ones stored in R, then it's just R * 1, and if you use the better way it's 1 * Alpha. Saves you having to have to build a permutation for the different decompression types.
  • Eric Chadwick
  • oXYnary
    Offline / Send Message
    oXYnary polycounter lvl 18
    HI Eric,

    Are you speaking about Nvidias DDS Utilities or the Newer Texture Tools 2?

    I have tried the dds utilities in the past, and the output from PS seems slightly more refined. Maybe my options. But I can say the Texture tools 2 seems to be what Nvdiia is pushing these days since they consider the dds utilities as legacy.

    Which of course is meant for nvidia processors. Which I don't know but may be the reason for 0 output files when I attempt.

    NVIDIA Texture Tools 2\bin>nvcompress -normal -nocuda -bc3 input.psd output.dds


    Unfortunately, DXt5-nm was never supported until 1.8 of engine. We are using 1.3. Only other option I have is 8.8.8.8 .. ouch (we have alpha use as well).
  • Eric Chadwick
    Texture Tools 2, which IIRC is only GPU-accelerated if you have the NVIDIA chipset, otherwise it just uses your CPU, so it should work fine for you. Might be your PSD? Try a 24bit TGA, see what you get.
Sign In or Register to comment.