simple terrain generation with Perlin noise.
Refactored shader into a class.

Can use multiple shaders at the same time.