Hi ! I'm also working on this project and I'm the one who handles the LOD, quadtree and tile generation. The question about the number of vertices was for me
He was talking about the vertex count after culling since Unity does frustrum culling natively. I've since realised that there is something wrong about the way I handle the amount of detail of the terrain, we were getting waaay to many vertices as you pointed out. Implementing a wireframe rendering mode also pointed it out clearly.
About triangles, the way the LOD currently is when the camera is on the ground, with a maximum terrain resolution of 1 vertex per centimer, looking at the horizon, we are getting 2 million triangles on average. Again, after frustrum culling done by Unity. This is on a square terrain with sides that are 12000 kilometers long (to simulate what it will be when projected on an earth-sized sphere) We don't do any other culling as of yet, no occlusion culling.
This is way to much of course, and shows how the "distance-check" we use to decide when to subdivide the terrain is wrong. It is currently a very simple and quite bad formula :
if( distance to tile < (tileResolution * multiplier) )
subdivide the tile
(tileResolution means the distance between two vertices on this tile)
From what I understood about Outerra, the rule which you use to decide this is more complicated and checks the screen-space distance between vertices, to always get a vertex/pixel ratio of 1:1 right ? I've tried to implement this once but the difficulty of it threw me off. I will try again, it seems to be the only reasonable solution.
To get your 500k triangles average while still getting such a detailed landscape (thanks to a vertex/pixel ratio of always 1:1 ?) did you implement others forms of culling ? Like culling the terrain hidden by a big mountain, or horizon culling on the planet ?
Thanks again, we have way too much questions for you so we don't mind if you don't answer, you've already been very kind helping us