FBO + vertex texture formats

I am exploring FBOs. I decided I would render heightmaps on the GPU and use that to displace the vertices using Vertex texture fetching. I am trying this on Geforce go 6800.

The problem: I see that all the vertex texture formats have to have 32 bit float texture components for it to be hardware accelerated. But when I try to attach any of the texture format with 32 bit float components to the framebuffer, I get unsupported format. If I use 16 bit floats, there is no problem in binding and rendering to the FBO but then I cannot use this texture directly as a float texture. And performing a copy takes the fun out of FBOs.

I thought rendering to fp32 buffers was supported on the 6800 but without support for blending wheras there is full support for fp16 buffers. Is it supported or not? While I would need blending later on, for now I want to know if rendering to fp32 buffers is supported in some form or not.

So, I’d like to know what is the fastest way to render to a texture and use it as a vertextexture for the 6800.


I think you should post this on Advanced coding forum, this is not a newbie question (FBO, heightmaps, GPU computation…)

I found out what the problem was. I was setting up the fp32 texture with non-nearest filtering - and that is not supported. But somehow I was getting no opengl error when I create an ARB fp32 texture but I got an error when I created an NV fp32 texture.

I posted it here coz I thought I must be getting something basic wrong… and it indeed turned out that way! Thanks anyway.