#ifdef GL_ES precision mediump float; #endif uniform float time; //uniform vec2 mouse; uniform vec2 resolution; // bonniemathew@gmail.com //vec3 COLOR1 = vec3(0.0, 0.0, 0.50); //vec3 COLOR2 = vec3(0.30, .0, 0.0); const vec3 COLOR1 = vec3(0.0, 0.0, 0.0); vec3 COLOR2 = COLOR1; float BLOCK_WIDTH = 0.01; void main( void ) { vec2 position = ( gl_FragCoord.xy / resolution.xy ); vec3 final_color = vec3(1.0); // For creating the BG pattern float c1 = mod(position.x, 2.0 * BLOCK_WIDTH); c1 = step(position.x*0.01, c1); float c2 = mod(position.y, 2.0 * BLOCK_WIDTH); c2 = step(BLOCK_WIDTH, c2); final_color = mix( position.x * COLOR1, position.y * COLOR2, c1 * c2); // creating the wave position = -1.0 + 2.0 * position; float lineWidth = 10.0; vec2 sPos = position ; for( float i = 0.0; i < 13.; i++) { sPos.y += ((0.07*cos(time)) * tan(position.x + i/5.0+ sin(time*0.5))); lineWidth = abs(1.0 / (750.0 * sPos.y)); final_color = final_color + vec3(lineWidth * 1.9f, lineWidth*1.9f, lineWidth * 0.); } gl_FragColor = vec4(final_color, 1.0); }