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
1 answer

threeJS procedural plane vertices not aligning

I'm using threeJS combined with a Simplex noise algorithm to generate a tile system of 50x50 planes. At the moment, I'm looping through x+y and adding each plane. I then use the Simplex noise algorithm to calculate the four vertices z position of…
0
votes
1 answer

How could I draw an Outlined Mesh like this?

So I saw a blog about parsing OBJ files, but what really caught my eye was the object they were parsing (this question isn't about parsing OBJ files). I know the mesh was created using a 3D noise algorithm, probably simplex noise, but what I want…
jocopa3
  • 796
  • 1
  • 10
  • 29
0
votes
1 answer

Simplex noise displaying incorrectly with BufferedImage

I finally got a working tile-able version of Simplex noise working after much work, but I can't seem to get it to record and display correctly when using a BufferedImage. Whenever I try to create an image, it ends up with bands or rings of black and…
0
votes
2 answers

Desiring jagged results from simplex noise or another algorithm just as fast

I'm wanting to do some placement of objects like trees and the like based on noise for the terrain of a game/tech demo. I've used value noise previously and I believe I understand perlin noise well enough. Simplex noise, however, escapes me quite…
Mythics
  • 773
  • 1
  • 10
  • 19
-1
votes
1 answer

How to generate multiple 3D Coordinates with noise

I am currently trying to generate a 3D planetary map like No Man's Sky does using the simplex noise plugin in unreal engine blueprints. How can i generate coordinates for the individual planets? I already tried to create 3 for loops and get the…
-1
votes
1 answer

2D Platformer procedural world generator

i am currently developing a 2D tile based java platformer. Not to earn money, just for fun. Recently i found this game called Caveblazers. It is a 2D platformer too and i think it is also tile based. It's world is procedurally generated and looks…
-1
votes
1 answer

Connect two procedurally generated landscape pieces

I'm working on a procedural generation of a continuous world. Recently I've been advised to use height map combinations to apply some constraints on my landscape. The next step is connecting two procedurally generated pieces to each other so that…
JeB
  • 11,653
  • 10
  • 58
  • 87
1 2 3 4 5
6