I also managed to create an optimized version of the shader that knocked 6 instructions off and gave me around 500,000 more vertices per second [wow]
64 Instruction Listing and Optimized 58 Instruction Listing. Complete HLSL Code.
You can download all of the files here (751kb)
I think I'm gonna implement some lighting for the surface next. I've messed with a 3-point-per-vertex sample which works but it's slow. Given it's a mathematical surface there should be a mathematical normal, if I can bend my head around that I can probably write some clean(er) code [grin]
Comments appreciated - especially performance related if you have a GeForce 6800/7800 [wink]