Skip to content

Commit e431ae3

Browse files
authored
ImprovedNoise: use MathUtils.lerp (mrdoob#30905)
1 parent 3152a8b commit e431ae3

File tree

1 file changed

+17
-14
lines changed

1 file changed

+17
-14
lines changed

examples/jsm/math/ImprovedNoise.js

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
import { MathUtils } from 'three';
2+
3+
const { lerp } = MathUtils;
4+
15
const _p = [ 151, 160, 137, 91, 90, 15, 131, 13, 201, 95, 96, 53, 194, 233, 7, 225, 140, 36, 103, 30, 69, 142, 8, 99, 37, 240, 21, 10,
26
23, 190, 6, 148, 247, 120, 234, 75, 0, 26, 197, 62, 94, 252, 219, 203, 117, 35, 11, 32, 57, 177, 33, 88, 237, 149, 56, 87,
37
174, 20, 125, 136, 171, 168, 68, 175, 74, 165, 71, 134, 139, 48, 27, 166, 77, 146, 158, 231, 83, 111, 229, 122, 60, 211,
@@ -21,12 +25,6 @@ function fade( t ) {
2125

2226
}
2327

24-
function lerp( t, a, b ) {
25-
26-
return a + t * ( b - a );
27-
28-
}
29-
3028
function grad( hash, x, y, z ) {
3129

3230
const h = hash & 15;
@@ -69,14 +67,19 @@ class ImprovedNoise {
6967

7068
const A = _p[ X ] + Y, AA = _p[ A ] + Z, AB = _p[ A + 1 ] + Z, B = _p[ X + 1 ] + Y, BA = _p[ B ] + Z, BB = _p[ B + 1 ] + Z;
7169

72-
return lerp( w, lerp( v, lerp( u, grad( _p[ AA ], x, y, z ),
73-
grad( _p[ BA ], xMinus1, y, z ) ),
74-
lerp( u, grad( _p[ AB ], x, yMinus1, z ),
75-
grad( _p[ BB ], xMinus1, yMinus1, z ) ) ),
76-
lerp( v, lerp( u, grad( _p[ AA + 1 ], x, y, zMinus1 ),
77-
grad( _p[ BA + 1 ], xMinus1, y, zMinus1 ) ),
78-
lerp( u, grad( _p[ AB + 1 ], x, yMinus1, zMinus1 ),
79-
grad( _p[ BB + 1 ], xMinus1, yMinus1, zMinus1 ) ) ) );
70+
return lerp(
71+
lerp(
72+
lerp( grad( _p[ AA ], x, y, z ), grad( _p[ BA ], xMinus1, y, z ), u ),
73+
lerp( grad( _p[ AB ], x, yMinus1, z ), grad( _p[ BB ], xMinus1, yMinus1, z ), u ),
74+
v
75+
),
76+
lerp(
77+
lerp( grad( _p[ AA + 1 ], x, y, zMinus1 ), grad( _p[ BA + 1 ], xMinus1, y, zMinus1 ), u ),
78+
lerp( grad( _p[ AB + 1 ], x, yMinus1, zMinus1 ), grad( _p[ BB + 1 ], xMinus1, yMinus1, zMinus1 ), u ),
79+
v
80+
),
81+
w
82+
);
8083

8184
}
8285

0 commit comments

Comments
 (0)