Search code examples
noiseterrain

What is the term for this kind of "noise generation"?


I'm having a lot of trouble finding information on this, but as it can't be unexplored territory in programming, I'm assuming my troubles stem from missing some critical terminology.

Basically, I want a type of 2d noise generation.

I had been using 2 simplex noise layers, scaled differently and added together to create a smooth terrain "heightmap". But what I'm looking to do now is used to designate, well, "zone".

The problem with my heightmap method is that looking from above, it changes in "rings", as in, higher values are "inside" lower value. See this image: http://s8.postimage.org/pvvtnn0px/figure1.png

The left side is what my current function does - and I understand it pretty well. What I want to do is get something akin to the right side - where values are randomly distributed, not stacked in rings.

Input: x coordinate, z coordinate

Desired output: integer "zone id" value

I've tried to ask this previously and had the question closed, I've tried to make it more specific, but as I'm obviously lacking some terminology, that's very difficult. I'm hoping someone will see this that can enlighten me in any way.


Solution

  • Not sure how applicable it is to terrain, but generally if you want that kind of structure in a procedural texture, you'd look at some kind of cellular noise function. Usually by taking the voronoi set of a randomly displaced grid of points, or such like.

    Looks a bit like this...