#version 450 layout(location=0) in vec2 frag_texcoord; layout(location=0) out vec4 out_color; layout(set = 3, binding = 0) uniform PushConstants { vec4 lightcol; vec4 darkcol; vec2 fragSize; float gridsize; } pc; void main() { vec2 pos = frag_texcoord * pc.fragSize; float total = floor(pos.x / pc.gridsize) + floor(pos.y / pc.gridsize); bool isEven = mod(total, 2.0) == 0.0; out_color = (isEven)? pc.lightcol : pc.darkcol; }