View Single Post
Old 01-25-07, 09:27 AM   #1
oc2k1
Registered User
 
Join Date: Aug 2006
Posts: 38
Default Texturecompression

I've done some texturecompression experiments:

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:
Code:
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.
Attached Thumbnails
Click image for larger version

Name:	compression1.jpg
Views:	332
Size:	262.6 KB
ID:	23699  
__________________
Will code GLSL for food.
oc2k1 is offline   Reply With Quote