#version 330 core uniform float time; uniform vec2 resolution; uniform vec2 mouse; out vec4 color; float plot (vec2 st) { return smoothstep (0.01, 0.0, abs (st.y - st.x)); } void main () { vec2 st = gl_FragCoord.xy/resolution; float y = st.x; vec3 c = vec3 (y); float pct = plot (st); c = (1.0 - pct)*c + pct*vec3 (0.0, 1.0, 0.0); color = vec4 (c, 1.0); }