#version 450 in mat4 mvp[]; in vec4 normal[]; layout(triangles, invocations=1) in; in vec4 tes_colorout[]; layout(line_strip, max_vertices=6) out; out vec4 gs_colorout; void main(void) { gl_Position = mvp[0] * (10 * normal[0] + gl_in[0].gl_Position); gs_colorout = tes_colorout[0]; EmitVertex(); gl_Position = mvp[1] * (10 * normal[0] + gl_in[1].gl_Position); gs_colorout = tes_colorout[1]; EmitVertex(); gl_Position = mvp[2] * (10 * normal[0] + gl_in[2].gl_Position); gs_colorout = tes_colorout[2]; EmitVertex(); gl_Position = mvp[0] * (10 * normal[0] + gl_in[0].gl_Position); gs_colorout = tes_colorout[0]; EmitVertex(); EndPrimitive(); }