Skip to main content
GameDev.net gamedev.net
🔒 Locked

Another wheel?

Started by Atm97fin Dec 10, 2005 at 2:57 PM 6 replies 1.3k views
Original Post
Atm97fin
Atm97fin
I've been developing texture compression method just for fun. But before I present my method I should propably check if someone has developed something similar before. So what kind of texture compression methods there are besides dxtn? I've searhed with google, but haven't found anything similar.
EasyGL - easy to use graphics library.
Atm97fin
Atm97fin
Here are some sample images compressed with my method and dxt1.
The method compresses the texture using variable length block size. The quality can be adjusted with few parameters. Size depends on the texture and can be significantly smaller.

Texture with lots of details:
120KB

116KB

Texture with less details:
97KB

53KB

Texture with 1bit alpha:
70KB

Texture with no details:
15KB

I've been developing this for my software 3d renderer. The reason why I was asking about this is because the idea behind the method is quite simple and it seems to work well.
EasyGL - easy to use graphics library.
m4gnus
m4gnus
is this just RLE(Run Length Encryption)? You said:
Quote:
variable length block size

and that just sounds like Run Length Encryption with a variable run size...wasn't knowing that it works that well with textures that aren't 1bit.

regards,
m4gnus
"There are 10 types of people in the world... those who understand binary and those who don't."
necromancer_df
necromancer_df
Quote:
Original post by m4gnus
is this just RLE(Run Length Encoding)?


Atm97fin
Atm97fin
Quote:
Original post by m4gnus
is this just RLE(Run Length Encryption)? You said:
Quote:
variable length block size

and that just sounds like Run Length Encryption with a variable run size...wasn't knowing that it works that well with textures that aren't 1bit.

regards,
m4gnus


No It's not RLE. It's based on dxt1. Instead of 4x4 block size of dxt1 the method compresses 16x16 blocks.
EasyGL - easy to use graphics library.
m4gnus
m4gnus
ahh k..

"There are 10 types of people in the world... those who understand binary and those who don't."
MikeWW
MikeWW
Image diffs (DXT1 vs Original and etc6 vs Original) would help for comparisons. I think that ATI's Compressonator allows you to write compression plugins that you could use to do comparisons more easily. Looks good to me though.

When you are talking about texture compression do you just mean on GFX hardware, for fast decoding or in general?

Mike.
Atm97fin
Atm97fin
Quote:
Original post by MikeWW
Image diffs (DXT1 vs Original and etc6 vs Original) would help for comparisons. I think that ATI's Compressonator allows you to write compression plugins that you could use to do comparisons more easily. Looks good to me though.


Well the image quality depends on the encoder and compressonator has much better dxt1 codec than mine. Since you can adjust the quality of etc6 it would be better to make program where you can adjust the parameters and see the differences in real time.

Quote:

When you are talking about texture compression do you just mean on GFX hardware, for fast decoding or in general?

Mike.


For fast decoding. Though the decoding takes more time in etc6 due to the bigger block size and some other reasons. The speed gain for this method might come from saving memory space. I don't know if this method would bring any speed gain in modern hw, but it might be possible to implement this just by driver update.



EasyGL - easy to use graphics library.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.