3D Delaunay is complicated, I'm not sure that it is even possible to strictly define the Delaunay constraint for a 3D surface.
The usual method, if you just want to create a grid on the surface, is to select a direction and display it at 2 coordinates and perform a 2-dimensional delay. It's easy to use x, y for a height map. Then, when you have the nodes that make up each triangle, you can of course use their three-dimensional coordinates.
2D-, , http://www.cs.cmu.edu/~quake/triangle.html