void main() { vec2 uv = gl_FragCoord.xy / resolution; vec4 posData = texture2D(texturePosition, uv); vec4 velData = texture2D(textureVelocity, uv); vec2 pos = posData.xy + velData.xy; // Clamp to bounds pos = clamp(pos, vec2(-1.0), vec2(1.0)); gl_FragColor = vec4(pos, posData.zw); }