#version 110 | |
varying vec2 tex_coord; | |
void main (void) | |
{ | |
vec4 white = vec4(1.0); | |
vec4 black = vec4(0.2); | |
vec4 color = white; | |
// First, cut out our circle | |
float x = tex_coord.x*2.0 - 1.0; | |
float y = tex_coord.y*2.0 - 1.0; | |
float radius = sqrt(x*x + y*y); | |
if (radius > 1.0) { | |
if (radius > 1.1) { | |
++color; | |
} | |
gl_FragColor = color; | |
if (radius > 1.2) { | |
++color; | |
} | |
discard; | |
} | |
// If we're near an edge, darken us a tiny bit | |
if (radius >= 0.75) | |
color -= abs(pow(radius, 16.0)/2.0); | |
gl_FragColor = color; | |
} |