P-152: Virtual World Concept Update 95: Fractal Terrain Generation Part 1
I believe I am close to being able to make another attempt at spherical terrain.
If this idea works, I should be able to not only produce spherical terrain, but I should be able to scale it to an arbitrary size as well, without having to do any additional work. It should also be extremely efficient. This is ideal for the project that I am working on.
The idea would be to create six quad trees, one for each face, as I am doing with my current terrain. I will generate a seed value for each “planet”, and then use that seed value to produce reproducible seed values for each face. IE, each face’s random seed can be reliably obtained from the initial seed value only.
From there, I will need to further subdivide the six quad tree faces. This is the tricky part. One way I could do this is to populate the quad tree down to the required resolution with random seed value based on the initial seed. This would be done during load time. This quad tree can then be traversed at run time and the visible quads can be selected. I can then use the random seeds of those quads to produce the fractal noise.
This seems like a poor solution, since I would be populating the entire tree at load time, and I would need to ensure that the fractal noise for each quad lined up with the other quads at the edges.
Ideally, I would like to be able to use the ID of each quad, or it’s coordinates, as an index into a noise map. However, this would require either generating the noise map at load time, which is essentially what I was doing (and is far too slow) or finding a way to generate part of a larger noise map without generating the rest of it.
I was sent some very useful code recently which does something almost identical to what I am trying to do. I am currently looking through this, and I should be able to use it to solve the final few conceptual problems that I have been having.
