I have a mesh of triangles to represent terrain.
Is there any LOD-esque algorithm that i could use to reduce the number of triangles drawn?

Click to see enlarged
Here's an example of my mesh (without heights - each vert is actually a point on the surface of a sphere).
The red lines help highlight the vertices that are surrounded by a 5-triangle fan (there are only ever 12 in the mesh).
All others are verticies (in the order of 10,000s) are surrounded by 6-triangle fans.
The data so far is stored as individual verticies, edges and faces like so:
1 large vector of verticies - each vertex has a variable int array, (usually int[6], sometimes int[5]) that corrosponds to the edges that are connected to the vertex
1 large vector of edges - each edge has 2 ends (ints corrosponding to the index from the verticies vector)
1 large vector of faces - each face has 3 corners (ints corrosponding to the index from the verticies vector)
The triangles are all drawn individually, either in wireframe by looping through the edges and drawing gl_lines, or solid, by looping through the faces and drawing gl_triangles.
The project is currently rendered in OpenGL.
I'm looking for any ideas, or relevent schemes. I don't mind learning and coding, and all help is greatly appreaciated. Even "Sorry, can't be done.", although I would want a reason. :yes:
Cheers,
Daniel











