PDA

View Full Version : s3tc



Semi-Automatic-Munky
04-18-2001, 05:31 AM
Is putting one of the texture compresssion formats ie COMPRESSED_RGB_S3TC_DXT1_EXT as paramater 3 of glTexImage2d(); all that is nessicary? assuming youve allready checked for the avaialability of the GL_EXT_texture_compression_s3tc extension.
Seems to easy to me.
Thanks.

mango
04-19-2001, 12:52 PM
Here is an article about ARB_texture_compression and EXT_texture_compression_s3tc extensions. http://www.nvidia.com/Marketing/Developer/DevRel.nsf/bookmark/86CA121A06B22857882568E8000B1E8F

It seems like you should compress your textures and save them and avoid doing that during runtime. If you have compressed textures can you use this:
glBindTexture(GL_TEXTURE_2D, already_compressed_decal_map);
glCompressedTexImage2D(GL_TEXTURE_2D, 0, internalFormat, width, height,
border, image_size, data);

Nutty
04-19-2001, 11:49 PM
I've wondered why people go on about this. Is doing the compression at load time really that bad? How much slower is a glTexImage with compression, than one without?

Maybe I should do some comparisons. I'm pretty sure Q3 does not store pre compressed textures when you selected texture compression, and I dont notice any difference in loading speed. Perhaps Q3 uses multiple threads, and compresses asynchronously, while loading others?

Nutty

mango
04-20-2001, 01:14 PM
Yes, it would be great if you did some tests but it seems like it is slow to compress.
From this http://www.digit-life.com/articles/reviews3tcfxt1/
"For example, S3TC managed to compress complex (with rear recurring pixels) textures 256X256X32 for about a couple of seconds, and 3dfx baby did the similar thing for about 50-60 seconds on the test computer."

Using multiple threads is a great idea. I think it would really work if your card is fast enough but if the numbers above is right do I think that Q3 after all has precompressed textures. (Think of the 3dfx guys... http://www.opengl.org/discussion_boards/ubb/biggrin.gif )

Another reason for using precompressed textures could be that they are easier to change. The article I mentioned in my first post has a little DDS file loader so you can use the texture tool from DirectX. An artist could use some tool to change the compression for each texture without any programming.