Now that ARB_non_power_of_two is available on the GeForce 6XXX boards, should I feel free to use this combination to store all of my animated textures?
For a small number of small textures, a packed 2D approach works fine, but for things like my high-res flame animations, with 192 frames, 3D textures just seem so much more elegant. (I could pack into a 2D ‘matrix,’ rather than an array…)
No more texture binds, fewer Begin/Ends, and free interpolation are some of the advantages I see.
Is this combination still wasting texture memory under the hood, though? Performance-wise it’s looking so-so. I’m getting a 50 percent drop in performance even with fewer texture switches. It could be because of the bilinear filtering.
EDIT: Switching to GL_NEAREST filtering doesn’t get rid of the huge performance dropoff.
There was an NVidia document around the GeForce3 or 4 era that showed relative 1D, 2D, 3D, and RECT texturing costs. I can’t seem to find it at the moment.