These last few days i've been working on generating procedural heightmaps, materials and textures for my planet renderer. All the parameters are currently hard coded and the code is very messy, but i'm starting to get interesting results:
This is the "material table". Each color encodes a different type of material (blue=water, yellow=sand, green=grass, gray=rock, white=snow, etc..). I've added some basic lighting using the input heightmap to make it easier to see the relief. This is *not* the texture that will be mapped onto the planet geometry: that one will come later and should hopefull have much more details and color variation!
The algorithm currently generates a cube map (with seamless colors between the cube faces), and handles deserts at the equator (center of first image) and ice at the poles (second image). This is for an Earth-like planet, but later planets with very different looks can be created.
Must. Sleep. Now.