cb0151517a07cd6c8ca6271b421bbe332e9ed005
[ld42_outofspace] / sdr / field.te.glsl
1 #version 410 compatibility
2
3 layout(quads, ccw) in;
4
5 void main()
6 {
7         vec4 v1 = mix(gl_in[0].gl_Position, gl_in[1].gl_Position, gl_TessCoord.x);
8         vec4 v2 = mix(gl_in[3].gl_Position, gl_in[2].gl_Position, gl_TessCoord.x);
9         vec4 pos = mix(v1, v2, gl_TessCoord.y);
10
11         vec4 top0 = mix(gl_in[0].gl_TexCoord[0], gl_in[1].gl_TexCoord[0], gl_TessCoord.x);
12         vec4 bot0 = mix(gl_in[3].gl_TexCoord[0], gl_in[2].gl_TexCoord[0], gl_TessCoord.x);
13         vec4 res0 = mix(top0, bot0, gl_TessCoord.y);
14
15         vec4 top1 = mix(gl_in[0].gl_TexCoord[1], gl_in[1].gl_TexCoord[1], gl_TessCoord.x);
16         vec4 bot1 = mix(gl_in[3].gl_TexCoord[1], gl_in[2].gl_TexCoord[1], gl_TessCoord.x);
17         vec4 res1 = mix(top1, bot1, gl_TessCoord.y);
18
19         gl_Position = gl_ModelViewProjectionMatrix * pos;
20         gl_TexCoord[0] = res0;
21         gl_TexCoord[1] = res1;
22 }