add perlin noise function to the example