Dies ist eine einfache Bibliothek für 2D- und 3D-Perlin-Rauschen und Simplex-Rauschen in Javascript. Lärm ist hübsch.
Die Bibliothek ist ziemlich schnell (10 Millionen Abfragen/Sek.). Aber es ist immer noch viel langsamer als die Verwendung eines Shaders. Wenn Sie beispielsweise versuchen, die Pixelanzahl eines gesamten Bildschirms zu aktualisieren, wird dies langsam sein.
Der Code basiert auf der Implementierung von Stefan Gustavson. Machen Sie damit, was Sie wollen usw.
Noise.seed(Math.random());for (var x = 0; x < canvas.width; x++) { for (var y = 0; y < canvas.height; y++) {// Alle Noise-Funktionen geben Werte im Bereich von -1 bis 1 zurück.// Noise.simplex2 und Noise.perlin2 für 2D-Noisevar-Wert = Noise.simplex2( x / 100, y / 100);// ... oder Noise.simplex3 und Noise.perlin3:var value = Noise.simplex3(x / 100, y / 100, Zeit);image[x][y].r = Math.abs(value) * 256; // Oder was auch immer. Öffnen Sie demo.html, um die Verwendung mit Canvas zu sehen. }}
Die Bibliothek stellt ein Objekt namens noise
mit den folgenden Eigenschaften bereit:
simplex2(x, y) : 2D-Simplex-Rauschenfunktion
simplex3(x, y, z) : 3D-Simplex-Rauschenfunktion
perlin2(x, y) : 2D-Perlin-Rauschenfunktion
perlin3(x, y, z) : 3D-Perlin-Rauschenfunktion
seeds(val) : Seed der Rauschfunktionen. Es werden nur 65536 verschiedene Seeds unterstützt. Verwenden Sie einen Gleitkommawert zwischen 0 und 1 oder eine Ganzzahl zwischen 1 und 65536.