Some Questions about the New NVTT_Export standalone

For the most part my upgrading to the new texture tools exporter works. However I seem to run into issues when packing textures with an alpha channel. I’m not sure if its some sort of user error or display bug but every time I attempt to export a dds file using the new exporter. its discarding the pixels from my other channels where the Alpha is 0 (or at least photoshop, visual studio, and my game engine is reading as such).
As opposed to the legacy nvcompress the other channel information persists just fine. the channels of my parallax composite texture outside of the alpha remain. (would post more pictures but i only get one)

now with the alpha turned off after using Nvtt_Export in my batch script instead.


all information outside of the alpha is black

any ideas anyone has as to why this is happening would be greatly appreciated because i would love to upgrade to the new NVTT to be ready for more modern texture formats when needed.

p.s. apparently CUDA is turned off for BC3 compression? i dont remember the legacy tools being like this… can anyone confirm?

Hi djentlemankirby!

This is a problem with how pixels with alpha equal to 0 are technically treated as fully transparent by the exporter at the moment, which means that the color of the pixel shouldn’t matter (mathematically, since you can’t see it) - except in cases where the alpha channel represents something other than transparency, in which case it does matter! I’m working for a fix for this at the moment, and it should be arriving soon.

BC3’s an interesting case where the underlying NVTT 3.0 library doesn’t use the GPU for the Fastest compression level, but does for the Normal, Production, and Highest compression levels! You can see whether a method will use the GPU or the CPU in advance by hovering over the compression quality settings. As a result, these three levels are often faster than the Fastest compression level, which doesn’t make a lot of sense. BC1a, BC2, and BC3 are the only formats for which this is the case; for all others except for BC3n, Fastest and Normal support GPU compression. I’ll probably see if I can check with the NVTT team to see if we can change this. Assuming I’m reading the legacy source code right, the legacy tools didn’t have support for GPU-accelerated compression, which is why you would not have seen messages about this.

Hope this helps!

Perfect! thank you very much for the reply and keep up the great work on this important tool!

Hi djentlemankirby,

The fix for pixels where the alpha channel is 0 just arrived in today’s version 2020.1.3 of the Texture Tools Exporter, which means that exporting this image should work now! You shouldn’t need to change your workflow at all, but if you’re interested in the technical details, please see my post here.

We also changed the BC3 compression behavior so that now BC3’s Fastest compression level uses CUDA acceleration, which should hopefully solve the second problem.

For more information about changes in 2020.1.3, please see the release notes on https://developer.nvidia.com/nvidia-texture-tools-exporter.

Thanks again!

thanks so much for your work

1 Like