layout(location=1) noperspective out float2 vcoord_Stage0; void main() { int x = sk_InstanceID % 200; int y = sk_InstanceID / 200; int ileft = (sk_InstanceID*929) % 17; int iright = ileft + 1 + ((sk_InstanceID*1637) % (17 - ileft)); int itop = (sk_InstanceID*313) % 17; int ibot = itop + 1 + ((sk_InstanceID*1901) % (17 - itop)); float outset = 1/32.0; outset = (0 == (x + y) % 2) ? -outset : +outset; float l = float(ileft)/16.0 - outset; float r = float(iright)/16.0 + outset; float t = float(itop)/16.0 - outset; float b = float(ibot)/16.0 + outset; float2 vertexpos; vertexpos.x = float(x) + ((0 == (sk_VertexID % 2)) ? l : r); vertexpos.y = float(y) + ((0 == (sk_VertexID / 2)) ? t : b); vcoord_Stage0.x = (0 == (sk_VertexID % 2)) ? -1 : +1; vcoord_Stage0.y = (0 == (sk_VertexID / 2)) ? -1 : +1; sk_Position = float4(vertexpos.x , vertexpos.y, 0, 1); }