Original Post
I've been wondering about this for some time.
As I understand (please correct me if I'm wrong), DXT compressed textures are compressed (lossy) in a way so they do not have to be decompressed before being send to gpu memory.
In other words, if I have 4mb of raw image data, I will end up with 1mb of data after DXT5 compression and use up 1mb of graphics memory instead of 4mb.
The performance impact of using DXT compression is near zero (in fact I've read it may be beneficial since it reduces the graphics card's memory bandwidth load).
Until now I've used DXT5 for all textures except normal maps (I do not use any compression on them), because those react horribly to DXT compression.
However, I still don't feel entirely satisfied with the way I handle things right now.
I know that Directx10 supports all kinds of texture formats with less than 4 channels.
For example, I use specular maps or alpha maps on some occasions, both of which only use a single 'color' channel.
Is there a way to achieve DXT compression for single or dual channel textures? It seems like such a waste to use 4 channels for those.
I've also been wondering what the recommended tool is to compress textures?
Up until now I've used the nvidia photoshop plugin, and let's face it, that's not exactly handy.
I'd prefer something that I can integrate into my engine.
It also seems like the photoshop plugin is missing quite a few newer formats which were introduced with Directx10?
Cheers,
Hyu
As I understand (please correct me if I'm wrong), DXT compressed textures are compressed (lossy) in a way so they do not have to be decompressed before being send to gpu memory.
In other words, if I have 4mb of raw image data, I will end up with 1mb of data after DXT5 compression and use up 1mb of graphics memory instead of 4mb.
The performance impact of using DXT compression is near zero (in fact I've read it may be beneficial since it reduces the graphics card's memory bandwidth load).
Until now I've used DXT5 for all textures except normal maps (I do not use any compression on them), because those react horribly to DXT compression.
However, I still don't feel entirely satisfied with the way I handle things right now.
I know that Directx10 supports all kinds of texture formats with less than 4 channels.
For example, I use specular maps or alpha maps on some occasions, both of which only use a single 'color' channel.
Is there a way to achieve DXT compression for single or dual channel textures? It seems like such a waste to use 4 channels for those.
I've also been wondering what the recommended tool is to compress textures?
Up until now I've used the nvidia photoshop plugin, and let's face it, that's not exactly handy.
I'd prefer something that I can integrate into my engine.
It also seems like the photoshop plugin is missing quite a few newer formats which were introduced with Directx10?
Cheers,
Hyu