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
1
vote
3 answers

perlin simplex worley noise libraries for tiling in javascript or HTML5 in general?

I am curious if there are libraries already developed for creating these noises in javascript? I have searched the web for about two hours looking for libraries in javascripts. I have seen this implementation for the simplex…
Pro-grammar
  • 365
  • 2
  • 17
1
vote
1 answer

I can't get this demo to work on my computer in three.js and cannon.js from sandbox

Here is the demo but it always says that I am missing the modules whereas I have all the dependancies : https://tympanus.net/codrops/2020/02/11/how-to-create-a-physics-based-3d-cloth-with-cannon-js-and-three-js/ Would anyone know how to code it on…
ambaamba
  • 71
  • 6
1
vote
1 answer

Speed up Simplex Noise

I want to make a Java program, in which moving sky is generated out of Simplex Noise, but I have performance issues (framerate is too low). I'm using https://github.com/KdotJPG/OpenSimplex2/blob/master/java/OpenSimplex2F.java noise class. My…
1
vote
1 answer

How to adjust Color Properly in a Noise Pattern?

I am trying to write a noise pattern that resembles wood in GLSL. Here is my current code: #ifdef GL_ES precision mediump float; #endif uniform vec2 u_resolution; float random (in vec2 st) { return fract(sin(dot(st.xy, …
Garrus
  • 61
  • 7
1
vote
2 answers

Smoothly mapping a 2D uv point onto a 3D xyz sphere

I have been trying to procedurally generate a sphere's surface using simplex noise, and I figured that in order to get smooth, non-distorted noise I need to map each uv pixel to an xyz coordinate. I have tried a few different algorithms, with the…
Matthew
  • 160
  • 9
1
vote
1 answer

OpenSimplexNoise higher detail level

I'm new to world generation and the algorithms which are used for them, so I hope someone can give me some usefull explanation or code or both or links to some resources I missed while searching for a solution. How can I get a higher detail level…
1
vote
1 answer

3D Simplex Noise Sudden Height Change

I have a problem generating 3D Noise. I've written a framework that uses DirectX11 to render everything. I generate a Geo-sphere and modify the height values using a 3D Simplex Noise function. The problem is that when I see the result I see sudden…
1
vote
0 answers

CG shader visual artifacts in simplex noise

I'm currently trying to create 3D simplex noise implementation in CG shader for unity. I decided to use this implementation that is originally written in C++ and port it to CG, since they are simmilar. I've decided to provide permutation and…
noisy cat
  • 2,865
  • 5
  • 33
  • 51
1
vote
1 answer

SimplexNoise terrain in MonoGame

I'm making a randomly generated tile game in MonoGame, and I'm trying to use Simplex Noise to generate the terrain. Problem is, I've never used Simplex Noise before, so as you can probably guess, my code doesn't work. It only creates grass tiles.…
Wahoozel
  • 287
  • 4
  • 16
1
vote
1 answer

Meteorit generator with simplex noise

I try to make a meteor like this video, but I can only get like this: This is my simplex noise: public class PerlinNoise{ int B = 256; int[] m_perm = new int[B+B]; Texture2D m_permTex; public int octava; public float frequencia, amplitud; public…
1
vote
1 answer

Simplex Noise - Summation

I have been reading this article as requested by Nathan Reed on Programmers.StackExchange. After some reading I stumbled upon a paragraph I really don't get. Can anyone explain this paragraph to me in a more simple language? (English is not my…
Jeroen
  • 15,257
  • 12
  • 59
  • 102
1
vote
0 answers

Is there an algorithmic way to find the scaling factor for a given simplex noise dimension?

Here is one implementation in C# of the simplex noise algorithm You'll notice that each noise function (2d, 3d, and 4d) scales the corner contributions to fit in the -1 to 1 range (this is the magic number on the return statements), which is…
0
votes
1 answer

How can I improve the performance of my HTML5 2D canvas?

I've made a "biome gridmap playground" app which help to design biomes for a 2D grid map using simplex noise. The algorithm is roughly this: for each grid map tile, we look at the noises values (moisture and height) at this coordinate, determine the…
Ershetz
  • 35
  • 4
0
votes
0 answers

How can I add some noise to my SVM implementation?

my code run with no problems. what I was trying to do is add some noise to my dataset which I couldn't do . so how can I do that ? I tried many approach to do that : -creating a noise function -adding directly some noise to my dataset But all of…
Walid
  • 43
  • 1
  • 4
0
votes
1 answer

Symbol.tsx: undefined is not a constructor (evaluating 'new _simplexNoise.default(i + "-" + j)')

construct.js infraction, coupled in with the source at Symbol.tsx, likely. Symbol.tsx import type { SkFont, Vector, SkiaValue, SkiaClockValue, } from "@shopify/react-native-skia"; import { interpolate, dist, useComputedValue, vec, …
Alex Okin
  • 1
  • 1