
layout (location = 1) noperspective out vec2 vcoord_Stage0;
void main() {
    int x = gl_InstanceID % 200;
    int y = gl_InstanceID / 200;
    int ileft = (gl_InstanceID * 929) % 17;
    int iright = (ileft + 1) + (gl_InstanceID * 1637) % (17 - ileft);
    int itop = (gl_InstanceID * 313) % 17;
    int ibot = (itop + 1) + (gl_InstanceID * 1901) % (17 - itop);
    float outset = 0.03125;
    outset = 0 == (x + y) % 2 ? -outset : outset;
    float l = float(ileft) * 0.0625 - outset;
    float r = float(iright) * 0.0625 + outset;
    float t = float(itop) * 0.0625 - outset;
    float b = float(ibot) * 0.0625 + outset;
    vec2 vertexpos;
    vertexpos.x = float(x) + (0 == gl_VertexID % 2 ? l : r);
    vertexpos.y = float(y) + (0 == gl_VertexID / 2 ? t : b);
    vcoord_Stage0.x = float(0 == gl_VertexID % 2 ? -1 : 1);
    vcoord_Stage0.y = float(0 == gl_VertexID / 2 ? -1 : 1);
    gl_Position = vec4(vertexpos.x, vertexpos.y, 0.0, 1.0);
}
