adding 3D perlin noise