Mesh: remove triangles using intersection

Hey guys,

i wanted to ask you if there is a possibility to remove a number of triangles in a mesh using for example intersection. The problem is the following.

I’m using a heightfield to represent heights of a collection of buildings. The height field is a simple mesh which is calculated from a plane using influences of different height shapes. The height field plane has a resolution which can be adjusted.

Well, if you have a look at the image above you’ll see the height field as a wireframe in a very high resolution. What i want now is the following:

I would like to remove the “0-height/triangles” like in the image above by removing them from the buffers (vertex, face, normal, tex) but i did not have a good approach.

Any ideas?