1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
#ifdef GL_ES precision mediump float; #endif #extension GL_OES_standard_derivatives : enable uniform float time; uniform vec2 mouse; uniform vec2 resolution; float drawRect(vec2 st, float left, float bottom, float right, float top){ //Left Bottom vec2 rect1 = step(vec2(left,bottom),st); float pct = rect1.x * rect1.y; //Right top vec2 rect2 = step(vec2(right,top),1.0 - st); pct *= rect2.x * rect2.y; return pct; } void main( void ) { vec2 st = gl_FragCoord.xy/resolution.xy; vec3 color = vec3(0.0); float pct = drawRect(st, 0.9, 0.7, 0.02, 0.020); color = vec3(pct,0.0,0.0); float pct2 = drawRect(st, 0.7, 0.7, 0.12, 0.02); color += vec3(pct2,0.0,0.0); float pct3 = drawRect(st, 0.7, 0.4, 0.12, 0.32); color += vec3(pct3,0.0,0.0); float pct4 = drawRect(st, 0.9, 0.4, 0.02, 0.32); color += vec3(pct4,0.0,0.0); float pct5 = drawRect(st, 0.9, 0.02, 0.02, 0.9); color += vec3(pct5,pct5,0.0); float pct6 = drawRect(st, 0.02, 0.12, 0.32, 0.62); color += vec3(pct6,pct6,pct6); float pct7 = drawRect(st, 0.7, 0.12, 0.02, 0.62); color += vec3(pct7); float pct8 = drawRect(st, 0.02, 0.70, 0.90, 0.02); color += vec3(pct8); float pct10 = drawRect(st, 0.02, 0.40, 0.80, 0.32); color += vec3(pct10); float pct9 = drawRect(st, 0.22, 0.40, 0.32, 0.32); color += vec3(pct9); float pct12 = drawRect(st, 0.22, 0.70, 0.32, 0.02); color += vec3(pct12); float pct13 = drawRect(st, 0.12, 0.70, 0.8, 0.02); color += vec3(pct13); float pct11 = drawRect(st, 0.02, 0.02, 0.8, 0.90); color += vec3(0.,0.,pct11); float pct14 = drawRect(st, 0.22, 0.02, 0.12, 0.90); color += vec3(pct14); gl_FragColor = vec4(color,1.0); } |