R"(#version 330 layout(triangles) in; layout(triangle_strip, max_vertices=3) out; out vec3 normal; out vec4 pos; in vec2 v_texcoords[]; out vec2 texcoords; void main( void ) { vec3 a = ( gl_in[1].gl_Position - gl_in[0].gl_Position ).xyz; vec3 b = ( gl_in[2].gl_Position - gl_in[0].gl_Position ).xyz; vec3 N = normalize( cross( b, a ) ); for( int i=0; i