
Planet Generation - Part I - marcacohen
http://www.shaneenishry.com/blog/2014/08/01/planet-generation-part-i/
======
adolgert
If you search for "fibonacci grid sphere," you'll find the grid used for
research. It's less regular and a lot more work, with a few regions of five or
seven sides, but it might look more natural, and it's used because it has
fewer sharp corners than the icosohedron. Just another option.

~~~
exDM69
Fibonacci grid spheres look really cool. But...

The surface geometry is not very important in this task. You can easily push
out a million triangles or more, so you're going to get a pretty round shape
in the end, no matter which primitive you take as a starting point.

The hard part is texturing and area distortions. Ideally you wouldn't have
texture boundaries crossing the triangle boundaries. Since textures are
rectangular, using the "cube sphere" is a very popular choice for planet
rendering.

Things get more difficult if you have to use real-life imagery (satellite
images and aerial photography), because then you're going to have to stitch
several layers of textures on top of each other. There are texture splatting
techniques and other tricks that need to be done to get proper texturing on
the planet.

------
arethuza
I wonder if anyone has generated planets by running a geological simulation -
plates, subduction zones, vulcanism, erosion.... etc.

~~~
QuadDamaged
Dwarf Fortress does.

~~~
gabemart
Does DF actually generate the geology of the whole planet, rather than just
the playable area?

~~~
golergka
You select the area you'll be playing with at the embark, so yes, the whole
planet's surface is generated. But I apart from the surface layer, I doubt
that this simulation takes planet core into account, for example: in the game
world's it would be filled with SPOILER anyway.

~~~
zalzane
plate tectonics is a planned feature for worldgen in the future

------
jengamaster
Very cool result! I've been wondering about applying the height-maps that you
get from Perlin/Simplex directly to the vertices of a planet, for 3D terrain.
I'd imagine that the cube mapping approach might not be perfect for this
because of the irregular distance between vertices. The geodesic dome would
probably work, but I have no idea how you would generate noise for a shape
like that.

~~~
mrsharpoblunto
I've used a cubemap approach to render procedurally generated asteroid
geometry and it works pretty well. I start by generating the heightmap using
3D simplex noise, Then when rendering I use a domain shader to offset the
vertices of an icosphere along the normal vector according the the height in
the heightmap.

[http://imgur.com/rpKalpk](http://imgur.com/rpKalpk)

I've got a bunch of other procedural content generation blog entries over at
[http://www.junkship.net](http://www.junkship.net), including this entry
[http://www.junkship.net/News/2011/11/13/building-steam-
with-...](http://www.junkship.net/News/2011/11/13/building-steam-with-a-grain-
of-salt) which covers a lot of similar ground to the parent article.

~~~
jengamaster
That's an impressive result! My worry was that it would become more obvious if
I were to skimp on the poly count of the shape. Doesn't seem to have been an
issue for you.

Thanks for the links, I'll definitely check them out.

------
murbard2
One approach that you might want to try is to generate the planet using
spherical harmonics. If you draw random coefficients for those harmonics,
their distribution (in particular their rate of decay) will dictate how
"coarse" the terrain looks.

Edit: scratch that, you need an ungodly amount of parameters to get anything
fine... works better for designing asteroids

------
mrjj
How to draw the owl...

------
petenixey
Shanee, I saw this and was immediately trying to figure out how I could email
it to you. Then I saw the URL :) Nice work getting it on HN!

~~~
shanee
Ha! Nice to meet you here :)

