Questions tagged [simplex-noise]

Simplex noise is a procedural texture primitive, a type of gradient noise used by visual effects artists to increase the appearance of realism in computer graphics.

Simplex noise is a procedural texture primitive, a type of gradient noise used by visual effects artists to increase the appearance of realism in computer graphics.

It was developed by Ken Perlin to overcome some of the limitations of Perlin noise while having similar properties. It is particularly useful at higher dimensions as computation time scales O(n^2) compared to O(2^n) for conventional noise (where n is the number of dimensions). Minor but noticeable directional artefacts found in Perlin noise have also been corrected in Simplex noise.

Simplex noise gets its name from the "Simplex" that the noise is based upon; a simplex is an n-dimensional equilateral triangle and as such has n+1 corners. In contrast Perlin noise is based upon the Square (or n-dimensional equivalent; square, cube, hypercube) and has 2^n corners.

Fractal noise
Often several octaves of Simplex noises are summed to create fractal noise (other basis noise functions can also be used for fractal noise). Several noises are combined with different frequencies leading to small scale and long scale coherence. The ratios with which these different frequencies are combined is determined by the persistence and can be calculated as follows:

frequency = 2^i  
amplitude = persistence^i 

where i is the octave number (an integer)

Examples of fractal noise resulting from several octaves of simplex noise

Low Persistence:
Persistence of 0.5

High Persistence:
Persistence of 0.7

High Persistence (larger scale):
Persistence of 0.7

References:
http://en.wikipedia.org/wiki/Simplex_noise
http://webstaff.itn.liu.se/~stegu/simplexnoise/simplexnoise.pdf

82 questions
0
votes
2 answers

THREE.js Mutating vertices of Plane according to Data from mp3

So i've been stuck for a while because i've been having trouble dynamically changing the shape of the vertices in a place geometry according to the frequency data of an mp3, I've been having 2 main problems: 1)The array generated by the mp3 has too…
Alex
  • 39
  • 5
0
votes
1 answer

OpenSimplex noise generation problems (just seems random, is my function wrong?)

I'm working on a 2d tile based game in pygame and I'm trying to use a noise map to generate my map. I've installed the OpenSimplex library and everything works fine there. Problem is that I don't seem to be getting a smooth random gradient, it looks…
0
votes
1 answer

Determinisitic Compute Shader For Simplex Noise In Unity

So I have been trying to use the power of compute shaders to speed up the process of generating simplex noise for my map terrain generation in unity. The problem is that for the game to work it requires everything to be deterministic in order to…
0
votes
0 answers

How to use index to derive pseudorandom gradient in 2D simplex noise

When using simplex noise one of it's main features is in the generation of gradients on-the-fly. This algorithm is described here. The problem is that even in the patent the gradient generation algorithm is only described in three dimensions (see…
Entalpi
  • 2,005
  • 22
  • 33
0
votes
1 answer

Simplex noise reference to array

EDIT: I have been adjusting the sliders on the Simplex noise constructor. I have used more softer floating point numbers and have seen reduced numbers of bars. Possible solution? { frequency: 0.001, amplitude: 0.010, persistence: 0.50, octaves: 10…
lindsay
  • 972
  • 2
  • 11
  • 21
0
votes
1 answer

Make Perlin Noise Scaleable

I got a perlin noise algorithm and an opensimplex noise algorithm that returns a double based on the X and Y values given. I'm designing software and I would like to know how to: Scale the perlin noise with a 0-1 double value Allow building the…
frogocomics
  • 41
  • 1
  • 5
0
votes
1 answer

How to use SimplexNoise for 1D

I've been playing around with Simplex Noise. But I still dont know how I should use it right. My Goal is to get a terrain for an Sidescroller game. It shoud have a polygonal style look. I got the source for SimplexNoise from here Questions: The…
user4959397
0
votes
1 answer

Draw and get OpenSimplexNoise result

I want to generate a random terrain with OpenSimplexNoise. To start I just want to get a result and draw it to a window. My question is now: How can I get the correct output of OpenSimplexNoise (cause there are many methods and I just don't know…
ShadowDragon
  • 2,238
  • 5
  • 20
  • 32
0
votes
1 answer

How do the permutation and gradient tables of Perlin and Simplex Noise work in practice?

So I have been doing a bit of research into how Perlin and Simplex noise work and, while I get the core principles of regular Perlin noise I'm a little bit confused about how the permutation and gradient tables work. From my understanding, they…
0
votes
1 answer

Why do noise algorithms use 256 permutation values?

I have seen many noise implementations for things like perlin and simplex noise to achieve procedural terrain generation, and they all seem to use 256 permutation values. Why is this? and what would be the effect of using more than 256?
Kelan
  • 355
  • 4
  • 16
0
votes
1 answer

Simplex Noise Adjustments only working in one direction

I am making a heightmap using simplex noise. I am running into problems adjusting it to give a slight tendency to form an island. I am just working on getting the values to be correct before actually rendering the biomes and other features. I have…
chbachman
  • 27
  • 1
  • 7
0
votes
2 answers

Where to start with voxel engine?

I have been working on a voxel game for some time now, but all that I have really accomplished was the main menu and an Item system. Now its time to make the voxel engine. I have been searching for a while now to find some tutorials or an ebook that…
SemperAmbroscus
  • 1,308
  • 2
  • 12
  • 23
0
votes
1 answer

Perlin Noise, Erlang and javascript

Given the same seed to the a perlin/simplex noise generation algorithm, is it possible for the same noise map to be generated, in the two different programming languages? My usecase: a procedurally generated multiplayer world - using javascript…
0
votes
0 answers

Transforming Simplex Map for UV mapping on a sphere

I would like to dynamically generate a simplex-based image that will map nicely on a sphere in three.js, however I'm having problems with distortion at the poles. Here is the initial map code: def…
0
votes
2 answers

How to make honeycomb version of perlin noise?

I wish to: Make regular 2d perlin noise constrain into a quantized, straight line version of itself, where the straight lines are 60° Maybe i can quantize the input of the perlin noise function to be on the 3 60° axes? Perhaps i could rewrite 2d…
bandybabboon
  • 2,210
  • 1
  • 23
  • 33