1
+ import { MathUtils } from 'three' ;
2
+
3
+ const { lerp } = MathUtils ;
4
+
1
5
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 ,
2
6
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 ,
3
7
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 ) {
21
25
22
26
}
23
27
24
- function lerp ( t , a , b ) {
25
-
26
- return a + t * ( b - a ) ;
27
-
28
- }
29
-
30
28
function grad ( hash , x , y , z ) {
31
29
32
30
const h = hash & 15 ;
@@ -69,14 +67,19 @@ class ImprovedNoise {
69
67
70
68
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 ;
71
69
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
+ ) ;
80
83
81
84
}
82
85
0 commit comments