I'm normally a big fan of pre-multiplied alpha, but I'm having some issues with using it with a certain texture.
Here's a screenshot to demonstrate the problem:
http://mtnphil.files.wordpress.com/2013/03/example1.png
The artifacts are obvious in the top image. If I don't compress the texture, I get the image on the bottom, which looks good.
In the middle is what happens if I use non-premultiplied alpha and DXT5. It looks pretty good (still a few small artifacts). I'm surprised it is so much better than pre-multiplied alpha.
Here is what the RGB and A channels look like for the DXT-compressed texture (grabbed from PIX):
http://mtnphil.files.wordpress.com/2013/03/dxt5_texture_in_pix.png
It looks as I would expect.
Other notes:
- I also tried DXT3, but there wasn't much difference in quality.
- No mipmaps are involved. All textures are drawn 1-to-1 texel-to-pixel.
- All screenshots are 3x.
Any idea what's going on here? I have a feeling the problem might go away if I had proper RGB values for the transparent parts, but I'm not sure how to make photoshop do that. (and if that were the problem, why would the non-premultiplied DXT scenario look fine?).