GLSL plotting a line, 2 ways.
Firstly, to plot a "function".. float plot(vec2 uv, float pct){ return step(pct-0.01,uv.y)- step(pct+0.01,uv.y); } void main(void) { vec2 uv = v_texcoord; vec3 col=vec3(0); float y = smoothstep(0.,1.,uv.x); y=(sin(uv.x*6.28)+1)*0.5; float pct=plot(uv,y); col+=pct*vec3(0.0,1.0,0.0); gl_FragColor = vec4(col, 1.0); } In the main function, I've made a float value "y", which I intialise with a boring smoothstep function between the values 0 and 1. However we're not plotting that. I immediately overwrite y with what is essentially a sin(x) function. The numbers added and multiplied are just there to fit one cycle into the UV space of 0-1. (6.28 is a bad approximation of 2*PI - ie 360 degrees, +1 is to shift...