VTF / Displacment Mapping

Started by
1 comment, last by DoWhile 14 years, 9 months ago
Hello Community... I have few questions about a topic iam working on last days and iam not sure how to solve it. Iam working a an procedural pixel shader based on a tutorial and it works so far. ( Simplex noise + fbm etc... ) My problem is now that i want to bind the texture to the vertex shader to manipulate ( displace ) vertices. After some google seassions and some tutorials i found that with vertex texture fetches it should work when using vertex/pixel shader model 3. But i read that VTF doesnt work correctly on some video cards even if they support vertex / pixel shader 3. I heard also that ATI doesnt support this correctly because this is to slow and nobody really use this feature. ( I read this comment somewhere during my google seassion about this topic. ) ( Not sure if this is really true. ) What i really want to do is: 1. Generate a texture in pixel shader. ( works so far ). 2. Bind the generated texture to the vertex shader to displace vertices. My goal is to have a simply textured planet with the generated texture on it and the vertices displaced with the texture height informations. To map the texture on the planet is really not a problem. But iam not sure in which direction i should go now to solve the problem with VTF/Displacment Mapping. I don't want to start implmenting something with VTF/Displacment Mapping and finding out some weeks/month later that some cards not like it or are buggy on this feature. What i want to avoid is to lock the generated texture and generate new vertices and push them back to the gpu. Some more informations. API : DirectX 9.c + Shaders with HLSL. I could move to DirectX 10/10.1. But iam not sure if this really helps with the problem i have atm. Thanks for any respond.
Advertisement
Here's the deal with VTF:

-It is supported on Nvidia 6 and 7-series, but it's very slow and you're limited to 32-bit floating-point formats (R32F, R32G32F, R32G32B32A32F).
-It is not supported on Nvidia 5-series or lower, or ATI X1000-series and lower
-It is supported and works quite well on Nvidia 8-series and up, as well as ATI HD 2000-series and up (even if you're doing it in D3D9 through SM3.0).





thank you.
thats help me alot.

This topic is closed to new replies.

Advertisement