skia2/resources/sksl/shared/SampleLocations.vert

23 lines
876 B
GLSL
Raw Normal View History

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);
}