An implementation of 2D perlin noise, used to generate more natural-looking noise compared to value noise.