varying vec2 vUv; uniform sampler2D uTarget; uniform float aspectRatio; uniform vec3 uColor; uniform vec2 uPointer; uniform float uRadius; void main() { vec2 p = vUv - uPointer.xy; p.x *= aspectRatio; vec3 splat = exp(-dot(p, p) / uRadius) * uColor; vec3 base = texture2D(uTarget, vUv).xyz; gl_FragColor = vec4(base + splat, 1.0); }