1+ import { MathUtils } from 'three' ;
2+
3+ const { lerp } = MathUtils ;
4+
15const _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-
3028function 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