#version 330 core

in vec3 position;
in vec2 texCoord;
in vec3 normal;

out vec3 FragPos;
out vec2 TexCoords;
out vec3 Normal;

uniform mat4 viewProjection;
uniform vec3 waves;

void
main()
{
	vec4 wpos = vec4(position.x + cos(waves.x), position.y + cos(waves.x * waves.y / 2),
			cos(waves.x + position.x + (position.y / 8)) * .3, 1.0);

	FragPos = vec3(wpos.xy, position.z);
	TexCoords = texCoord;
	Normal = normal;

	gl_Position = viewProjection * wpos;
}