1617a3babSopenharmony_ci#version 140 2617a3babSopenharmony_ciin vec2 tex_coord; 3617a3babSopenharmony_ci 4617a3babSopenharmony_civoid main (void) 5617a3babSopenharmony_ci{ 6617a3babSopenharmony_ci vec4 white = vec4(1.0); 7617a3babSopenharmony_ci vec4 black = vec4(0.2); 8617a3babSopenharmony_ci vec4 color = white; 9617a3babSopenharmony_ci 10617a3babSopenharmony_ci // First, cut out our circle 11617a3babSopenharmony_ci float x = tex_coord.x*2.0 - 1.0; 12617a3babSopenharmony_ci float y = tex_coord.y*2.0 - 1.0; 13617a3babSopenharmony_ci 14617a3babSopenharmony_ci float radius = sqrt(x*x + y*y); 15617a3babSopenharmony_ci if (radius > 1.0) { 16617a3babSopenharmony_ci if (radius > 1.1) { 17617a3babSopenharmony_ci ++color; 18617a3babSopenharmony_ci } 19617a3babSopenharmony_ci 20617a3babSopenharmony_ci gl_FragColor = color; 21617a3babSopenharmony_ci 22617a3babSopenharmony_ci if (radius > 1.2) { 23617a3babSopenharmony_ci ++color; 24617a3babSopenharmony_ci } 25617a3babSopenharmony_ci 26617a3babSopenharmony_ci } 27617a3babSopenharmony_ci 28617a3babSopenharmony_ci discard; 29617a3babSopenharmony_ci 30617a3babSopenharmony_ci // If we're near an edge, darken us a tiny bit 31617a3babSopenharmony_ci if (radius >= 0.75) 32617a3babSopenharmony_ci color -= abs(pow(radius, 16.0)/2.0); 33617a3babSopenharmony_ci 34617a3babSopenharmony_ci gl_FragColor = color; 35617a3babSopenharmony_ci 36617a3babSopenharmony_ci} 37