Projecting and triangulating Delaunay in 2D is certainly a good solution that will generate right triangles. For terrain, you may also need to force certain edges to be executed, so find limited Delaunay triangulation.
Regarding runtime: for real-world data, you can assume linear runtime . If performance is important, make sure your input is not degenerate: scanners often return points on the grid. You can improve the situation by adding some noise.
source share