PDA

View Full Version : How to accelerate texture compression speed?



ysatou
01-21-2002, 04:53 PM
Hi , everyone.
Excuse my poor english..
I render a large-volume 3D texture on GeForce3 using EXT_texture_3D and ARB_texture_compression.
When use texture compression, the rendering speed is good. But if I want to change texture RGBA on runtime, it is very slow...
I try to use EXT_paletted_texture, but rendering speed is slow..
Then, please teach me , how to accelerate texture compression speed?
( I use RGBA data, so only use RGBA format ).

[This message has been edited by ysatou (edited 01-21-2002).]

marcus256
01-22-2002, 02:13 AM
The texture compression is done in software by the OpenGL drivers, so if you modify the texture and recomress it often, it will probably be very slow. For dynamic textures you should not use texture compression.

The only way you can accelerate the compression process would be to make your own compression routine and optimize it as far as you can (I believe that there are sources available for some compression/decompression methods). However, my guess is that the compressors that are implemented in your OpenGL drivers are already fairly well optimized.

Lev
01-22-2002, 03:12 AM
The only way you can accelerate the compression process would be to make your own compression routine and optimize it as far as you can (I believe that there are sources available for some compression/decompression methods). However, my guess is that the compressors that are implemented in your OpenGL drivers are already fairly well optimized.

I would not even try that - it would be extremely unportable - the hardware changes, and so do compression methods, so you'd have to rewrite the compression code.

The only real solution is not to use compression for dynamic textures.

-Lev

ysatou
01-28-2002, 03:14 AM
Thanks for your reply.
I try another method.

Zerosignull
01-28-2002, 02:17 PM
U can try Loading the texture up and having multiple copies of it in the forms u want.

or Cache the Texture data to memory so u dont have to read from the disk at runtime.

Or compress the texture in the ways u want it write the comrpressed texture to host ram using glGetCompressedTeximageARB(). then all u need to do is load load which ever compressed form u want from ram into tex mem.

Zeno
01-28-2002, 09:11 PM
Probably a dumb suggestion, but does SGIS_GENERATE_MIPMAPS work with 3d textures?

-- Zeno