FractalNoise
Generates a fractal noise using LOVE's noise functions
-- x, y, z are the positions to sample-- iter is how many iterations (octaves) of the noise (default: 1)-- amp is the amplitude factor (default: 0.5)-- freq is the frequency factor (default: 2) -- returns a fractal noise value in the range [-1.0, 1.0] function genFractalNoise2(x, y, iter, amp, freq) val = love.math.noise(x, y)*2-1 freq = freq or 2 iter = iter or 1 amp = amp or 0.5 local n = 0 while n < iter-1 do val = val + (love.math.noise(x*freq, y*freq)*2-1)*amp freq = freq * freq amp = amp * amp n = n + 1 end return math.max(math.min(val, 1.0), -1.0) end -- returns a fractal noise value in the range [-1.0, 1.0] function genFractalNoise3(x, y, z, iter, amp, freq) local val = love.math.noise(x, y, z)*2-1 freq = freq or 2 iter = iter or 1 amp = amp or 0.5 local n = 0 while n < iter-1 do val = val + (love.math.noise(x*freq, y*freq, z*freq)*2-1)*amp freq = freq * freq amp = amp * amp n = n + 1 end return math.max(math.min(val, 1.0), -1.0) end
Contributors
Category: