The planet is created at runtime by starting with a 20 sided icosahedron, and subdividing each of its faces recursively to a preset LOD. There are controls in the GUI for LOD, Noise frequency, octaves, and a toggle for the CLOD system.
The terrain is coloured using a pixel shader, that measures both the elevation, and steepness of the geometry to choose a colour for each given pixel.
The geometry for the planet is stored in a quadtree, as each triangle subdivides into 4 smaller ones. The quadtree structure allows only certain parts of the planet to be subdivided at once. The distance from each triangle face to the camera is measured and triangles are subdivided when the camera is close enough.
Static mesh chunks are spawned at a maximum LOD, that are then rendered using multithreaded rendering. This solution is more performant than attempting to subdivide a part of the whole structure to the maximum LOD, as traversing the structure with too many layers is too slow.
This system is a work in progress, but when complete should allow for the visualisation of huge planets generated at runtime at high frame rates.