Here the result that I work with HeightMap (not really HeightMap, i dont use any gray image for height or anything. But I think it's the same in idea, cause I have a NxM height map )
Searching all day for a good example of B-Sline surface, Bezier surface, CoxDeBoor algorithm, NURBS... Hard to find an an easy example work for this case. Most of them the surface not going through the control point. In this case I want my surface to go through the Points. So I decide to go the no-brain way, draw a curves n*(n*n) curve throught points in the map. And it does work as I expected. However with those triangle, I think it will hit the performance a lot (The demo now run at 44 fps, ofcourse there is no optimize at the moment, but my Comp can run Crysis 3 at 60fps ) . Because I will have to render hundred of tile on screen.
For the curve I use D3DXVec3CatmullRom to create a curve go through 4 control points.