#version 150 in vec4 color; in vec2 texCoord; out vec4 fragColor; uniform vec4 color1; uniform vec4 color2; uniform float patternSize; void main() { float colorMix = ((step(patternSize / 2, mod(texCoord.x, patternSize)) * 2 - 1) * (step(patternSize / 2, mod(texCoord.y, patternSize)) * 2 - 1) + 1) / 2; fragColor = color * (color1 * (1.0 - colorMix) + color2 * colorMix); }