If you are going to make terrains for planets, your best bet is to do something exactly like (or similar to) the clouds. Mine is done with some clever random sequencing:
Here is some psudo code:
NumCont=random(#ofcontenents)
for (c=0;c<NumCont;c++){
size=random(maxsize)+minsize
x=random
z=random
for (m=minsize;m<size*minsize;m++){
increase the elevation at the position x,z +a random (radius)
}
}
loop through the image (memblock) you made for your "elevation map".
depending on certain conditions like elevation, mineral composition, corrosion by the hydrosphere/atmosphere put the color for that condition at the location in the memblock.
I would give you the code I'm using, but it's HUGE. You can make simpler code (doesn't have as much variation) following the psudocode I gave. If you want it anyway, I'll post it, but believe me, you won't easily make sense of it.
The fastest code is the code never written.