Shawn Hargreaves Blog
Artists don't like lossy compression.
They particularly don't like DXT texture compression. "I spent hours slaving away to create this beautiful, pristine image, and now you want to do WHAT to it?"
But the thing is, you don't get to make a simple choice between uncompressed vs. lossy compressed textures. Consoles like Xbox 360 only have a finite amount of memory, so the real choice is, how can you get the best results from this fixed amount of space?
Given one megabyte of memory, you could spend the whole thing on a single 512x512 uncompressed texture. Or you could use just half of it for a 1024x1024 DXT1 image, and have room left over for a second texture of the same size.
When artists complain about the artifacts caused by DXT compression, I like to point out that this is a tradeoff between quality and resolution. Do you prefer small and blurry but otherwise high quality textures, or larger and more detailed ones that have lossy compression artifacts?
Not always an easy decision...
Both resolution-reduction and DXT are compressions, and both are lossy. They're just different algorithms, and I can imagine that there should be an algorithm, or at least a well-understood approach, to decide which is more appropriate for a given piece of "texture" content.
You never notice it either way when looking at the scene as a whole. Only the artist or programmer who compared the two images has a trained eye to point those things out.
Although, I sometimes see subtle rainbows in compressed textures. Not unlike you'd see in JPEGs.
Shawn i wish your article was available few days ago when i wondered "how does it works behind the scene?".I have no idea about XNA team organization and processes but IMO such a valuable piece of knowledge should be made avalaible directly on official XNA site.No offense to you but i guess that most of us won't even visit your blog ,and sadly we'll miss a lot of things!Why don't you centralize all that ?I guess u write your blog on your spare time but anyway creators site could at least link to some of your articles !
> I have no idea about XNA team organization and processes but IMO such a valuable piece of knowledge should be made avalaible directly on official XNA site.
A great question...
The reason I have my personal blog is that the more official a channel is, the more process there is around publishing information to it. I do spend a lot of time writing samples for the creators.xna.com site, but those samples need a lot of review, testing, etc, before they can be released to the world. Not as much review as a feature would if I tried to build it into the framework itself, but far more than on my blog, where I can basically post anything I like as long as I don't give away any business secrets.
So I have to choose the right channel for different kinds of information. Some things benefit from a lot of review (for instance if a sample covers a complex and subtle area, I want to spend time making sure many different people look at it and we get it exactly right), so it makes sense to release those things as official Microsoft samples on the official site.
But if everything I wrote had to go through that much review, I would only be able to produce a fraction so many articles. So I also find it valuable to have a channel that just belongs to me as an individual, rather than to Microsoft as a whole...
> No offense to you but i guess that most of us won't even visit your blog
Shame on them :-)