A terrain is generated using perlin noise, thereafter stored on the VRAM. Implemented using C++, OpenGL and GLSL. The water is generated from two textures, refractun and reflection texture which are mixed together depending on the fresnel-term. Pernil noise is once again used for the texture coordinates of the water to simulate a wavy look. The terrain is colorized depending on height (which the user can choose) with some perlin noise to obtain some variation. The terrain can be created with arbitrary size, resolution, frequency and number of octaves. Great things can be achieved with some perlin noise!
Note: Further improvements have been made, such as: Vertex normal separation, terrain stored in VRAM, lighting improved, fixed a bug in the fresnel-term calculation.