#version 300 es precision highp float; in vec2 v_texcoord; uniform sampler2D tex; uniform float time; out vec4 fragColor; void main() { vec2 uv = v_texcoord; // Drei überlagerte Wellen für natürlicheren Effekt uv.y += sin(uv.x * 8.0 + time * 1.5) * 0.012; uv.y += sin(uv.x * 14.0 - time * 2.0) * 0.006; uv.x += sin(uv.y * 10.0 + time * 1.0) * 0.008; fragColor = texture(tex, uv); }