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
57
votes
8 answers

Simplex noise vs Perlin noise

I would like to know why Perlin noise is still so popular today after Simplex came out. Simplex noise was made by Ken Perlin himself and it was suppose to take over his old algorithm which was slow for higher dimensions and with better quality (no…
22
votes
2 answers

Why does simplex noise seem to have *more* artifacts than classic Perlin noise?

I read Stefan Gustavson's excellent paper on simplex noise, in which I was promised that: Simplex noise has no noticeable directional artifacts in contrast with "classic" Perlin noise. I excitedly implemented it to find out that the opposite…
20
votes
3 answers

JavaScript simplex / perlin noise

I'm trying to create a perlin / simplex / value noise function in JavaScript that will give results similar to the following: (Note: this image has already had a treshold applied. I want it without the treshold.) I've been looking all over the…
20
votes
1 answer

Any Simplex Noise Tutorials or Resources?

I want to create a terrain-like 3D noise generator and after doing some research I came to the conclusion that Simplex Noise is by far the best type of noise to do this. I find the name quite misleading though as I have a lot of trouble finding…
Jeroen
  • 15,257
  • 12
  • 59
  • 102
5
votes
1 answer

Analytic normals to a sphere displaced with Simplex Noise

I want to render a planet like sphere. The general idea is as follows: Generate a bunch of unit length vertices which make up a sphere. While rendering the sphere the shader evaluates the 3D simplex noise at the point on the unit sphere. The result…
Gigo
  • 3,188
  • 3
  • 29
  • 40
4
votes
2 answers

GLSL - Using a 2D texture for 3D Perlin noise instead of procedural 3D noise

I implemented a shader for the sun surface which uses simplex noise from ashima/webgl-noise. But it costs too much GPU time, especially if I'm going to use it on mobile devices. I need to do the same effect but using a noise texture. My fragment…
Nolesh
  • 6,848
  • 12
  • 75
  • 112
4
votes
3 answers

Desert fractal OpenGL

we're trying to generate a 3d world using a 2d perlin noise (with a recorsive/fractal technique). We have generated mountains and valleys quite fine but now we are having problems with desert and dunes because we only worked on persistence and…
Kroj
  • 76
  • 4
4
votes
1 answer

Deriving uncertainty values from a noise texture?

I'm trying to implement Sketchy Drawings. I'm at the part of the process which calls for the use of the noise texture to derive uncertainty values that will provide an offset into the edge map. Here is a picture of my edge map for a torus: And…
Shane
  • 2,315
  • 3
  • 21
  • 33
4
votes
2 answers

What's faster for 3D? Perlin or Simplex noise?

Okay, there are a lot of comparisons between Perlin and Simplex noise to be found on the web. But I really couldn't find one where there was a simple processing time comparison between both for three dimensions, which is what I am mostly interested…
TheSHEEEP
  • 2,961
  • 2
  • 31
  • 57
3
votes
1 answer

Noise function outputs subtly different result when converted from hlsl to c#

I am making a game in which I procedurally generate planets using a compute shader which builds a deformed sphere based on noise from a noise function I downloaded. The whole system works fine in the shader. I however wanted to be able to sample the…
Ashton Way
  • 46
  • 4
3
votes
1 answer

What is the intent of using 4D OpenSimplex Noise instead of 2D Perlin Noise to create a looping noise?

While I was learning about ways to create a looping generative art GIF, I encountered two different ways of making noise loops. Etienne Jacob's example code in his tutorial uses 4D OpenSimplex Noise as follows. (float)noise.eval(scl * x, scl * y, R…
3
votes
0 answers

Why is wrapping coordinates not making my simplex noise tile seamlessly?

I've been trying to create a fake 3D texture that repeats in shadertoy (see here, use wasd to move, arrow keys to rotate) But as you can see, it doesn't tile. I generate the noise myself, and I've isolated the noise generation in this minimal…
Krupip
  • 4,404
  • 2
  • 32
  • 54
3
votes
1 answer

Python Procedural 2d map generator explanation

So i found a certain procedural map generator in Python and I understand parts of it but i'm having a very hard time piecing it together to be able to modify it to suite my needs so I was wondering if it is possible for someone to explain step by…
Nick
  • 545
  • 12
  • 31
3
votes
1 answer

Fix directional artifacts generated by Perlin noise with another algorithm

I saw recently that Simplex noise(3D and higher dimensions) is patented... A substitute for simplex noise exists to avoid(only a lawyer can tell) the patented parts, namely Opensimplex. But I am not a lawyer so I don't want to risk anything... Back…
karl88
  • 341
  • 2
  • 13
3
votes
3 answers

Simplex Noise shader?

I have a couple of questions about Simplex Noise. I'm using Simplex Noise to generate a terrain in directx but I'm currently doing it using classes and such. I will probably use this for textures as well, so is it necessary to change it into a…
1
2 3 4 5 6