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