3D floating point texture in nvidia GeForce6800 ?

As in GPU-Programming, nvidia claims that GeForce 6 Series GPUs support 3D floating-point texture.
I got ‘GL_INVALID_OPERATION’ error with the following code:

glGenTextures(1, &texName1);
glTexImage3D(GL_TEXTURE_3D, 0, GL_FLOAT_RGBA16_NV, 16, 16, 16, 0, GL_RGBA, GL_FLOAT, array);

Can anybody help me out?
Thanks a lot

the NV_float_buffer extension only supports rectangle targets. Use the ATI_texture_float extension instead.

The drivers may not support it yet. Also, a 16x16x16 texture at 16 bytes per pixel (assuming that it forces RGB to RGBA) costs 64MB. Perhaps the driver simply won’t allow you to absorb a quarter of the driver’s memory in a single texture?

No way. I misread my calculator; it’s 64KB. Never mind.

As Nitro mentioned, use the ATI_texture_float formats, instead of the NV_float_buffer formats. The NV_float_buffer formats are only supported for rectangle textures.

Thanks a lot!
I thought that nvidia and ati won’t support each other. :slight_smile: