High quality texture compression demo

Humus

Crazy coder
Veteran
I've uploaded a new demo that implements a 4.5bpp and a 6bpp texture compression by storing YCbCr in ATI1N and ATI2N textures and decoding in the shader. The result is a format that performs close to DXT1 but has quality close to RGB8. Due to requiring ATI1N this demo will only run on X1300 and up. The "artwork" is too lame for me to include a screenshot here.

Download at the usual place.

Discuss. :)
 
Very nice. Makes me wonder if GPUs will eventually be decoding JPEG or JPEG2000 into L2, L1 or registers.
 
YCrCb/YIQ/YUV can be bad for graphics. e.g. where you have adjacent pixels with similar Luma but different chroma.

Humus: Why did you change to using rar instead of zip? :(
 
Last edited by a moderator:
Inane_Dork said:
Very nice. Makes me wonder if GPUs will eventually be decoding JPEG or JPEG2000 into L2, L1 or registers.
JPEG2000 - very unlikely. The wavelet method it uses makes the data set one needs to fetch in order to decode even one pixel unacceptably large for texture compression purposes, and it does not subdivide nicely into small fixed-size blocks. Some method based on 'old' JPEG may be doable, though (with some data manipulation; variable-size blocks and huffman coding still pose substantial problems for texture compression); however, given that it is so much more complex than e.g. S3TC, I would prefer to have it decoded at a much lower level in the memory hierarchy, probably L2 cache.
 
_xxx_ said:
OT:
Because it's ways better in every possible regard?
Except it wasn't on my PC and the thing I just installed says I can only use it for 40 days:rolleyes:

Humus: Is it ok to use that rgb image for testing purposes?
 
You can use WinRar forever, it'll just nag you with "please register" message boxes everytime you open an archive.
 
Is there no way to run this on nvidia SM3.0 hardware?
 
Mordenkainen said:
You can also use 7-zip (which is free and open source http://www.7-zip.org/ ) to open RAR files instead of WinRAR.
Yes thanks.. someone else kindly PM'd me

That reminds me... I did start writing my own experimental compression function. I must get back to it one day.
 
Can you see what I did here?

Kanyamagufa said:
It's so true!
Yeah, a benchmark coded by someone who works for one of the big IHVs. It will have a lot of success, I'm sure... With Ati fansites, like Hanner's.
 
Simon F said:
YCrCb/YIQ/YUV can be bad for graphics. e.g. where you have adjacent pixels with similar Luma but different chroma.

Humus: Why did you change to using rar instead of zip? :(

For large demos I usually provide a .rar file too as it's usually smaller. This time the size differences was so large (zip is more than 40% larger) that I wasn't sure if I should add a .zip too. Anyway, I threw one up there in case anyone doesn't want to install WinRar. Still, downloading both WinRar and the rar file is still smaller than the zip file.
 
Bludd said:
Is there no way to run this on nvidia SM3.0 hardware?

No. It needs 3Dc+ texture compression. SM3.0 on the other hand isn't needed, in fact, even PS1.4 should be able to do this. The closest thing that could be done without 3Dc+ is to use L8 for Y and L8A8 for CbCr. That could essentially be a 12bpp format. Not sure how useful that would be.
 
Back
Top