PREVIOUS NEXT
Fragment Shader
// Fragment shader precision highp float; varying vec2 UV; varying vec3 v_position; uniform float time; uniform float ratio; uniform vec2 mouse; void main(void){ float x = UV.x * ratio; float y = UV.y; vec4 col = vec4(0.0); x *= distance(mouse, vec2(x, y - 1.0)); y *= distance(mouse, vec2(x, y)); col.r = abs(sin(30.0 * y + 3.1416 * time + 0.3)); col.b = abs(sin(30.0 * y + 3.1416 * time + 0.5)); col.b = abs(sin(30.0 * y + 3.1416 * time + 1.0)); col *= cos(30.0 * x); col.a = 1.0; gl_FragColor = col; }