When generating the last levels of the terrain LOD, i'm placing some trees randomly over the patch surface. The trees are made of two crossed quads with a texture on it. For each vertex of the current terrain patch, i determine the density of trees based on the altitude and slope of this vertex. The tree is then randomly displaced (to avoid seeing organized rows/columns of trees) and randomly rotated around the vertical axis.
There are three problems with that:
1. Individually, each tree is fugly - in the future i plan to procedurally generate real 3D trees with LOD, and impostors at high distances.
2. Because i haven't optimized the code, it's awfully slow.
3. The placement of the trees is not perfectly matching the textures on the ground, since the textures parameters (altitude/slope) are modified with noise values, but the trees on the CPU aren't.
I'm not going to spend more time on that now, as i just wanted to make a quick test to get an idea of the potential problems.
I'm now going to start on the integration of the terrain engine, the textures prototype, and the planets/atmosphere from space.
How will you determine the character of the terrain? Presumably this will come down from the higher level procedurally generated elements (solar systems, etc.), so for example, one planet will be covered with a particular bio-type (distribution dependant on your noise function and terrain algorithms) when another may not.
To generate unique fauna procedurally would also be exiting. There are many interesting forms that can be created in this way.