refactor: noise

This commit is contained in:
cha0s 2021-03-18 01:59:14 -05:00
parent 892a2a89e1
commit 2be2bbd3cb
2 changed files with 23 additions and 2 deletions

View File

@ -5,7 +5,7 @@ import * as Vector from './vector';
export * from './math';
export {default as QuadTree} from './quadtree';
export {default as Noise} from './noise';
export {noise, noiseSeed} from './noise';
export {default as Range} from './range';
export {default as SimpleMovingAverage} from './sma';
export * as Vertice from './vertice';

View File

@ -56,7 +56,7 @@
* @description FastNoiseLite | Noise Generator
* @class
*/
export default class FastNoise {
class FastNoise {
/**
* @static
* @enum {string}
@ -3178,3 +3178,24 @@ class Vector3 {
this.z = z;
}
}
const __noise = new FastNoise();
__noise.SetNoiseType(FastNoise.NoiseType.OpenSimplex2);
export function noise(v, seed) {
if ('undefined' !== typeof seed) {
__noise.SetSeed(seed);
}
if ('number' === typeof v) {
return __noise.GetNoise(v);
}
switch (v.length) {
case 2: return __noise.GetNoise(v[0], v[1]);
case 3: return __noise.GetNoise(v[0], v[1], v[2]);
case 4: return __noise.GetNoise(v[0], v[1], v[2], v[3]);
}
}
export function noiseSeed(seed) {
__noise.SetSeed(seed);
}