TEXTURE_3D and Performance


I’m using a 3D texture to store 4 maps for blending size 128x128 RGB. When I went from multi texture approach to using a 3D texture my performance went from 30-35 FPS to 4-6 FPS, I tried using GL_NEAREST instead of GL_LINEAR when uploading the textures but that only got me 10-11 FPS, what is going on with 3D textures is there some way that I can increase my performance using 3D textures? I’m running on a ATI Radeon 9000 Mobile, and I also tried it on my GForce FX5950 that still cut down my performance dramatically. It should be hardware accelerated using EXT_TEXTURE_3D extension, right?

I think starting from the ATI 8500, 3D textures were supported. Yes, your mobility supports 3D textures.
The FX, for sure it does, plus NVidia uses a better caching algorithm (or something) for 3D textures.

In my experience, nearest is slow. Linear is even worst. Mipmapping is the best choice, for any texture format.

What driver version are you running? What OS?

On GForce FX 5950 I was using driver version 61.77 and the later upgraded to 66.93 which did not help performance at all. Operating system is Windows XP Pro.

I did also try using mipmapping which was even worse than GL_NEAREST. Are 3D Textures really supposed to be that slow?

For mipmapping I’m using gluBuild3DMipmaps but that shouldn’t be a problem, right?

If you wish, upload a short GLUT demo, or post your render function and I’ll have a look.

Yes post your render fuction. It can help.

I figured it out, it was just a stupid mistake. I didn’t set the texture min filter properly for using mipmaps. You definately have to use mipmaps otherwise it slows you down a lot. Thansk anyway.