Changing Texture-Quality


I'm trying to change the quality of the textures ingame. It doesn't seem to be an easy

method to change the quality of a Texture or a TextureState. Is there another

possibility? Of course I could just load the smaller version of the same image-file, but

this would increase the textures I would have to save a lot (for 2 texture-quality-levels

I had to provide every texture-file twice…). So, is there a smarter possibilty to change the

quality of a texture?

If you're using the DDS image format, the texture already comes with mipmaps generated. So if you want to use a texture that is 1/2 the original size you just pick mipmap level 1, if you want a texture 1/4 original size, you take mip level 2, etc. Also having two versions of the same texture (one DXT compressed, another uncompressed) is actually being done by popular games so I don't see why you don't want to do that…

Another quite simple way to change texture quality for non-DDS images is by changing the TetxureManager.DEFAULT_COMPRESS (or whatever it's called) variable. Generally speaking, the DXT compression provided by that method is quite primitive as it has to be done during loading so the video card uses a faster method.