#version 410 layout( triangles_adjacency ) in; layout( triangle_strip, max_vertices = 3 ) out; in vec3 VPosition[]; in vec3 VNormal[]; in vec2 VTexCoord[]; out vec3 Position; out vec3 Normal; out vec2 TexCoord; void main() { gl_Position = gl_in[0].gl_Position; Position = VPosition[0]; Normal = VNormal[0]; TexCoord = VTexCoord[0]; EmitVertex(); gl_Position = gl_in[2].gl_Position; Position = VPosition[2]; Normal = VNormal[2]; TexCoord = VTexCoord[2]; EmitVertex(); gl_Position = gl_in[4].gl_Position; Position = VPosition[4]; Normal = VNormal[4]; TexCoord = VTexCoord[4]; EmitVertex(); EndPrimitive(); }