Il s'agit d'une bibliothèque simple pour le bruit Perlin 2D et 3D et le bruit simplex en javascript. Le bruit est joli.
La bibliothèque est assez rapide (10M de requêtes/sec). Mais c'est toujours beaucoup plus lent que d'utiliser un shader. Par exemple, si vous essayez de mettre à jour les pixels d’un écran entier, cela sera lent.
Le code est basé sur l'implémentation de Stefan Gustavson. Faites ce que vous voulez avec, etc.
noise.seed(Math.random());for (var x = 0; x < canvas.width; x++) { for (var y = 0; y < canvas.height; y++) {// Toutes les fonctions de bruit renvoient des valeurs comprises entre -1 et 1.// noise.simplex2 et noise.perlin2 pour 2D noisevar value = noise.simplex2( x / 100, y / 100);// ... ou noise.simplex3 et noise.perlin3:var value = noise.simplex3(x / 100, y / 100, heure);image[x][y].r = Math.abs(valeur) * 256; // Ou peu importe. Ouvrez demo.html pour le voir utilisé avec Canvas. }}
La bibliothèque expose un objet appelé noise
avec les propriétés suivantes :
simplex2(x, y) : fonction de bruit Simplex 2D
simplex3(x, y, z) : fonction de bruit Simplex 3D
perlin2(x, y) : fonction de bruit Perlin 2D
perlin3(x, y, z) : fonction de bruit Perlin 3D
seed(val) : Seed les fonctions de bruit. Seules 65 536 graines différentes sont prises en charge. Utilisez un flottant compris entre 0 et 1 ou un entier compris entre 1 et 65536.