Vertex texture fetch

There’s not much info available on this. How widespread is support, specifically for the purpose of implementing sparse morph targets? Thanks.

VTF is on GF6 series and newer and IIRC ATI x2000 series and newer… Formats are limited to GL_LUMIANCE_32F and GL_RGBA_32F IIRC and no filtering, GL_NEAREST and mipmapping is supported IIRC.

GF8 series and onwards support VTF with (probably) all texture formats, bilinear filtering and performs well (similar to fragment sampling). Does anyone know exactly what texture formats are supported with newer (3000 series and later) ATI cards?

No 16-bit formats? I could really use this for grass height, but my heightmaps are 16-bit values.

All texture formats that are supported in the fragment pipeline should also be supported in the vertex pipeline on DX10 level hardware.

Bitchin’. That means I can rewrite the grass rendering and it will be way lighter on the CPU side.

It seems that a linear filter is not supported when a texture lookup is performed in a vertex shader. Can anyone comment on this?

It seems that a linear filter is not supported when a texture lookup is performed in a vertex shader. Can anyone comment on this?

Yes. Vertex texture fetching does not do filtering. It’s in the spec.

I am actually getting by just fine without the linear filter, unless this is something that is secretly supported on high-end NVidia hardware.

So far, my AMD cards seem unable to link a shader if the vertex program uses a texture lookup, but I haven’t tested very thoroughly yet.

Here’s what I came up with:
http://www.youtube.com/watch?v=Al58OP3vOnk

Linear filtering in the vertex shader is not spec’d as unsupported (despite some hardware’s inability to do it, like GeForce 7x00). Linear filtering should work just fine. What is spec’d as unsupported is derivatives, so mipmap filtering is not supported. This is why you have texture2DLod etc.

This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.