Skip to content

Commit 7646ba8

Browse files
committed
Revert coefficients, use permutation table
1 parent 1ce2f30 commit 7646ba8

File tree

1 file changed

+10
-13
lines changed

1 file changed

+10
-13
lines changed

simplex-noise.js

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,7 @@ function SimplexNoise(random) {
4444
this.p = buildPermutationTable(random);
4545
this.perm = new Uint8Array(512);
4646
this.permMod12 = new Uint8Array(512);
47-
for (var i = 0; i < 256; i++) {
48-
this.p[i] = random() * 256;
49-
}
50-
for (i = 0; i < 512; i++) {
47+
for (var i = 0; i < 512; i++) {
5148
this.perm[i] = this.p[i & 255];
5249
this.permMod12[i] = this.perm[i] % 12;
5350
}
@@ -229,28 +226,28 @@ SimplexNoise.prototype = {
229226
var jj = j & 255;
230227
var kk = k & 255;
231228
// Calculate the contribution from the four corners
232-
var t0 = 0.5 - x0 * x0 - y0 * y0 - z0 * z0;
229+
var t0 = 0.6 - x0 * x0 - y0 * y0 - z0 * z0;
233230
if (t0 < 0) n0 = 0.0;
234231
else {
235232
var gi0 = permMod12[ii + perm[jj + perm[kk]]] * 3;
236233
t0 *= t0;
237234
n0 = t0 * t0 * (grad3[gi0] * x0 + grad3[gi0 + 1] * y0 + grad3[gi0 + 2] * z0);
238235
}
239-
var t1 = 0.5 - x1 * x1 - y1 * y1 - z1 * z1;
236+
var t1 = 0.6 - x1 * x1 - y1 * y1 - z1 * z1;
240237
if (t1 < 0) n1 = 0.0;
241238
else {
242239
var gi1 = permMod12[ii + i1 + perm[jj + j1 + perm[kk + k1]]] * 3;
243240
t1 *= t1;
244241
n1 = t1 * t1 * (grad3[gi1] * x1 + grad3[gi1 + 1] * y1 + grad3[gi1 + 2] * z1);
245242
}
246-
var t2 = 0.5 - x2 * x2 - y2 * y2 - z2 * z2;
243+
var t2 = 0.6 - x2 * x2 - y2 * y2 - z2 * z2;
247244
if (t2 < 0) n2 = 0.0;
248245
else {
249246
var gi2 = permMod12[ii + i2 + perm[jj + j2 + perm[kk + k2]]] * 3;
250247
t2 *= t2;
251248
n2 = t2 * t2 * (grad3[gi2] * x2 + grad3[gi2 + 1] * y2 + grad3[gi2 + 2] * z2);
252249
}
253-
var t3 = 0.5 - x3 * x3 - y3 * y3 - z3 * z3;
250+
var t3 = 0.6 - x3 * x3 - y3 * y3 - z3 * z3;
254251
if (t3 < 0) n3 = 0.0;
255252
else {
256253
var gi3 = permMod12[ii + 1 + perm[jj + 1 + perm[kk + 1]]] * 3;
@@ -349,35 +346,35 @@ SimplexNoise.prototype = {
349346
var kk = k & 255;
350347
var ll = l & 255;
351348
// Calculate the contribution from the five corners
352-
var t0 = 0.5 - x0 * x0 - y0 * y0 - z0 * z0 - w0 * w0;
349+
var t0 = 0.6 - x0 * x0 - y0 * y0 - z0 * z0 - w0 * w0;
353350
if (t0 < 0) n0 = 0.0;
354351
else {
355352
var gi0 = (perm[ii + perm[jj + perm[kk + perm[ll]]]] % 32) * 4;
356353
t0 *= t0;
357354
n0 = t0 * t0 * (grad4[gi0] * x0 + grad4[gi0 + 1] * y0 + grad4[gi0 + 2] * z0 + grad4[gi0 + 3] * w0);
358355
}
359-
var t1 = 0.5 - x1 * x1 - y1 * y1 - z1 * z1 - w1 * w1;
356+
var t1 = 0.6 - x1 * x1 - y1 * y1 - z1 * z1 - w1 * w1;
360357
if (t1 < 0) n1 = 0.0;
361358
else {
362359
var gi1 = (perm[ii + i1 + perm[jj + j1 + perm[kk + k1 + perm[ll + l1]]]] % 32) * 4;
363360
t1 *= t1;
364361
n1 = t1 * t1 * (grad4[gi1] * x1 + grad4[gi1 + 1] * y1 + grad4[gi1 + 2] * z1 + grad4[gi1 + 3] * w1);
365362
}
366-
var t2 = 0.5 - x2 * x2 - y2 * y2 - z2 * z2 - w2 * w2;
363+
var t2 = 0.6 - x2 * x2 - y2 * y2 - z2 * z2 - w2 * w2;
367364
if (t2 < 0) n2 = 0.0;
368365
else {
369366
var gi2 = (perm[ii + i2 + perm[jj + j2 + perm[kk + k2 + perm[ll + l2]]]] % 32) * 4;
370367
t2 *= t2;
371368
n2 = t2 * t2 * (grad4[gi2] * x2 + grad4[gi2 + 1] * y2 + grad4[gi2 + 2] * z2 + grad4[gi2 + 3] * w2);
372369
}
373-
var t3 = 0.5 - x3 * x3 - y3 * y3 - z3 * z3 - w3 * w3;
370+
var t3 = 0.6 - x3 * x3 - y3 * y3 - z3 * z3 - w3 * w3;
374371
if (t3 < 0) n3 = 0.0;
375372
else {
376373
var gi3 = (perm[ii + i3 + perm[jj + j3 + perm[kk + k3 + perm[ll + l3]]]] % 32) * 4;
377374
t3 *= t3;
378375
n3 = t3 * t3 * (grad4[gi3] * x3 + grad4[gi3 + 1] * y3 + grad4[gi3 + 2] * z3 + grad4[gi3 + 3] * w3);
379376
}
380-
var t4 = 0.5 - x4 * x4 - y4 * y4 - z4 * z4 - w4 * w4;
377+
var t4 = 0.6 - x4 * x4 - y4 * y4 - z4 * z4 - w4 * w4;
381378
if (t4 < 0) n4 = 0.0;
382379
else {
383380
var gi4 = (perm[ii + 1 + perm[jj + 1 + perm[kk + 1 + perm[ll + 1]]]] % 32) * 4;

0 commit comments

Comments
 (0)