Texture Format for Position Data

What’s the best format for storing position data in a texture?
Is there a document that compares performance of the various texture formats?
Are power of two texture still more efficient than NPOT?

GL_RGB32F_ARB should do the trick

there might be, but basically 8 bit formats are the fastest and the more bits the slower it gets, but it’s almost insignificant, especially among all the various 8 bit ones.

Depends on which hardware/driver combo you have, but at least POT textures are not slower than NPOT so i would stick to them if i had a choice.

16bit float may be good enough…And you could try texture buffer object.

Thanks for the replies. I tried to find some information on the texture buffer objects. It seems they are suited to geometry instancing. Is that correct?

Texture buffers are basically big 1D LUTs. They don’t support mipmapping, normalized texcoord lookups or filtering, but they allow you to bypass the maximum size limitation imposed by 1D textures.

Of course all of this and more is summarized quite nicely in the spec overview section (and sections 2.9, 3.8.4 of the 3.1 specification).

Thanks for referring me to the OpenGL spec. It’s incredibly useful… Still, I wish I could find performance information for texture buffers. I guess I’ll test on my own.

The last time I tested about 6 months ago (I forget Nv4x or Nv8x) POT textures were about 10% quicker than NPOT for the same area, so not much in it, (but of course with POT youll have to pick the next largest size, so theyll prolly be slower in your case)