Perlin noise implementation
The library is pretty fast (10M queries / sec). But its still way slower than using a shader. For example, if you try and update an entire screen's worth of pixels, it'll be slow.
The code is based on Stefan Gustavson's implementation. Do whatever you want with it, etc.
var noise = ;noiseseedMathrandom;for var x = 0; x < canvaswidth; x++for var y = 0; y < canvasheight; y++// noise.simplex2 and noise.perlin2 return values between -1 and 1.var value = noisesimplex2x / 100 y / 100;imagexyr = Mathabsvalue * 256; // Or whatever. Open demo.html to see it used with canvas.
The library exposes a constructor function called
Noise with the following instance methods: