layout(triangles, equal_spacing, ccw) in; uniform mat4 mvp; in vec4 fct[]; out vec4 f_color; vec4 n4_test(vec4 x){ return vec4(normalize(x.xyz), 1); } void main(){ vec4 p = gl_TessCoord.x * gl_in[0].gl_Position + gl_TessCoord.y * gl_in[1].gl_Position + gl_TessCoord.z * gl_in[2].gl_Position; float d_inside = max(max(gl_TessCoord.x, gl_TessCoord.y), gl_TessCoord.z); gl_Position = mvp * vec4(d_inside * p.xyz, 1); f_color = gl_TessCoord.x * fct[0] + gl_TessCoord.y * fct[1] + gl_TessCoord.z * fct[2]; }