Sub division of terrain data

I have an set of terrain data, spaced at a set resolution in a square grid pattern, all with their associated x y z values and a value corresponding to the slope at that point. (and normal vector)

I started with a display list which stored triangle strips at the resolution of the data, a kinda brute force display method. Which looks fine but isnt particularly quick. So I wanted to make a nicer display algorithm using sub division so flater areas use less polygons than curvier areas.

For this I used a subdivision algorithm splitting up triangles into 4 triangles if the original triangle was more curved than a set cutoff value.

However this brought up a number of issues. One it creates slashes in the terrain, where triangles dont match edges together because of the subdivision which creates T junctions. Second the resolution versus the speed of the display is quite poor in comparison to the ugly display list method.

Any one got any better ideas on how to display this terrain data?

Cheers
Neil W

There are many LOD algorithms for terrain rendering. You can find many useful links at vterrain : http://www.vterrain.org/LOD/index.html