#version 440

layout(location = 0) in Primitive
{
    vec2 texCoord;
} IN[];

layout(location = 0) out Primitive
{
    vec2 texCoord;
} OUT;

layout(triangles, fractional_odd_spacing) in;
layout(cw) in;
void main()
{
    float u = gl_TessCoord.x;
    float v = gl_TessCoord.y;
    float w = gl_TessCoord.z;

    vec2 newUv = vec2( u * IN[0].texCoord + v * IN[1].texCoord + w * IN[2].texCoord);
    OUT.texCoord = newUv;
    gl_Position = gl_in[gl_PatchVerticesIn].gl_Position;
}


