# 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:

- Snippets