UNPKG

@woosh/meep-engine

Version:

Pure JavaScript game engine. Fully featured and production ready.

34 lines (26 loc) 683 B
export function noise_octaves( noise, noise_ctx, x, y, z, octaves, persistence = 0.5, lacunarity = 2 ) { let total = 0; let frequency = 1; let amplitude = 1; let totalAmplitude = 0; // Used for normalizing result to 0.0 - 1.0 let i = 0; for (; i < octaves; i++) { const noise_value = noise.call(noise_ctx, x * frequency, y * frequency, z * frequency ); total += noise_value * amplitude; totalAmplitude += amplitude; amplitude *= persistence; frequency *= lacunarity; } return total / totalAmplitude; }