PDA

View Full Version : Compressing 3D Textures for S3TC



05-02-2006, 03:37 AM
Hi,

I'm trying to figure out how OpenGL compresses and mipmaps 3D textures. From the spec, I gather that mipmaps are just 2x2x2 down-sampled (cube filtered) versions of the original. But how might one compress 3D images for S3TC, by compressing each slice independently, or by taking slices together somehow? I have a working version of the 2D version, but I'm not sure how to proceed with 3D. I'm thinking slices but not sure.

I know that OpenGL can do this for me, but I want this addition to my library.

Any insight would be appreciated.

Thanks

05-02-2006, 04:08 AM
The more I think about it the more I think it has to be independent slices, since I see nothing in the s3tc spec about volumes. Probably just the way it is for 2D, only repeat for each slice. That's got to be it!

Sorry guys. If anyone disagrees, please chime in! :)

Thanks

sqrt[-1]
05-03-2006, 03:33 AM
Take a look at this:
http://oss.sgi.com/projects/ogl-sample/registry/NV/texture_compression_vtc.txt

05-03-2006, 05:22 AM
Thank you very much for pointing that out. That's exactly what I was looking for (right under my nose).

This spec seems to confirm my original suspicion, that each slice (layer) is calculated independently of the others. DXT1 size is 8 bytes in 2D 4x4, but 16 bytes in 3D 4x4x2 and so on. I initially feared I'd need a new algorithm to convert the blocks, but apparently that's not the case. What a relief!

Thanks!

Jon Mc Jon
08-25-2006, 03:28 AM
This is something I am very interested in.
But it is unbelievably difficult finding the information out on the web.

Do all cards now, pretty much, support hardware compression of 3D textures ?

Jon

ZbuffeR
08-25-2006, 08:48 AM
unbelievably ... :rolleyes:
http://delphi3d.net/hardware/index.php

For 3D textures, this extension is nvidia-only apparently :
http://delphi3d.net/hardware/extsupport.php?extension=GL_NV_texture_compression _vtc

Jon Mc Jon
04-25-2008, 09:55 PM
unbelievably ... :rolleyes:
http://delphi3d.net/hardware/index.php

For 3D textures, this extension is nvidia-only apparently :
http://delphi3d.net/hardware/extsupport.php?extension=GL_NV_texture_compression _vtc

Hi ZBuffer - quick tip - it really pays to read the thread thoroughly before trying to attempt patronizing comments. :) Good luck in future.

Zengar
04-25-2008, 11:52 PM
I fail to see your problem, John. As ZbuffeR correctly pointed out, only Nvidia provides this extension. The comment was neither patronizing nor inappropriate.

ZbuffeR
04-26-2008, 01:30 AM
Yeah, jon is complaining one an a half year after I gave an useful answer ... I guess he was very upset :D

Zengar
04-26-2008, 06:30 AM
Wow, I haven't looked at the date Oo

Funny :)