Posts

Showing posts with the label function

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...