Procedural mesh

Don’t recreate all the geometry every frame. There are many approaches which work fine without doing this. The built in GeoMipTerrain breaks the terrain up to blocks, and transitions then between LODs only when needed (then patches any seams this created).

Another approach is geoClipMapping, or other vertex shade shader approaches (these also work on the CPU, but its slower, especially from python). Leave all the triangles, but just update the vertex positions. GPU side, you can use a vertex shader, CPU side you can use a GeomVertexWriter.

Another approach is to regenerate your terrain every so often, this is the approached used by the built in HeightfieldTesselator

Choose ont of these, and optionally add some tiling/paging based approach, and you can do a pretty good job. See [url]Procedural Plants + Procedural Terrain] for my unified terrain system that implements multiple of these approaches, though only one of the solutions is ready for serious use and it is just a tiling system, with no real LOD.

These issues can be applied to spherical terrain, though you are right that the provided solutions won’t work, you will have to modify or recreate them to work on it. Of note: see this: http://www.craigm.info/portfolio:fg - Its a rather crummy write up about my planet render I wrote for some of my classes. Its geometry basically entirely implemented in the vertex shader, applied to a static grid.