PDA

View Full Version : Texturecompression


oc2k1
01-25-07, 10:27 AM
I've done some texturecompression experiments:
http://www.nvnews.net/vbulletin/attachment.php?attachmentid=23699&stc=1&d=1169737373
The original picture is only for referenz, the DXT1 picture I've create with a gimp exporter and the indexed picture is only for filling the space :P
Only the DXT5 verion is important. I use this steps to create it:
1. Load a image in gimp.
2. Create a Alphachanel from the Black Color (Colors->Color to Alpha)
3. Export the result as dds with DXT5 compression

The GPU is able to decompress in realtime and the shader needs only one additional multiplication. An verry simple GLSL fragmentshader for example:

uniform sampler2D Colormap;
void main(void){
vec4 color = texture2D(Colormap, vec2(gl_TexCoord[0]));
gl_FragColor = color * color.a;
}

Teoretical it should be possble de decompress that with only using blending (ugly old stuff)
With a own specilised exporter the Quality could get close to the original. In special cases this algorithm would be able to store pictures with up to 16 bit dynamic range.