varying vec2 texCoord;
uniform sampler2D tex;
uniform vec2 texSize;

void main() {
	vec4 color = texture2D(tex, texCoord);
	vec3 arrayX[3];
	arrayX[0] = vec3(0.2, 0.2, 1.0);
	arrayX[1] = vec3(0.2, 1.0, 0.2);
	arrayX[2] = vec3(1.0, 0.2, 0.2);
	vec3 arrayY[4];
	arrayY[0] = vec3(1.0, 1.0, 1.0);
	arrayY[1] = vec3(1.0, 1.0, 1.0);
	arrayY[2] = vec3(1.0, 1.0, 1.0);
	arrayY[3] = vec3(0.8, 0.8, 0.8);
	color.rgb = pow(color.rgb * vec3(0.8, 0.8, 0.8), vec3(1.8, 1.8, 1.8)) + vec3(0.16, 0.16, 0.16);
	color.rgb *= arrayX[int(mod(texCoord.s * texSize.x * 3.0, 3.0))];
	color.rgb *= arrayY[int(mod(texCoord.t * texSize.y * 4.0, 4.0))];
	color.a = 0.5;
	gl_FragColor = color;
}