precision highp float;
varying vec4 vertexPosition;
void main(void) {
vec2 localPos = vec2(mod(vertexPosition.x, 0.1), mod(vertexPosition.y, 0.1));
float cornerSquareness = 15.0;
float rss = pow(pow(localPos.x - 0.05, cornerSquareness) + pow(localPos.y - 0.05, cornerSquareness), 1.0 / cornerSquareness);
vec4 circleColor;
if (rss < 0.04) {
circleColor = vec4(1.0, 1.0, 1.0, 1.0);
} else {
circleColor = vec4(0.0, 0.0, 0.0, 1.0);
}
gl_FragColor = vec4((1.0 - vertexPosition.y) * circleColor.r, abs(vertexPosition.x) * circleColor.g, abs(vertexPosition.y) * circleColor.b, 1.0);
}