#version 150 core uniform sampler2D tex; uniform float time; in vec3 color; in vec2 coord; out vec4 outColor; void main() { vec2 sampleCoord; if(coord.y < 0.75) { sampleCoord = coord; } else { sampleCoord = vec2( coord.x + 0.025 * sin(time * 1.5 + coord.y * 80.0), (1.0 - coord.y) * 3 ); } outColor = texture(tex, sampleCoord) * vec4(color, 1.0); }