ADDED: Source - Perlin Noise implementation.