Newer
Older
#version 330
layout (triangles) in;
layout (line_strip, max_vertices=4) out;
in struct vertex_data
{
vec4 position;
vec4 normal;
} vertex[];
// view transform
uniform mat4 view;
// perspective matrix
uniform mat4 perspective;
void main(void)
{
mat4 M = perspective * view;
gl_Position = M*vertex[0].position;
EmitVertex();
gl_Position = M*vertex[1].position;
EmitVertex();
gl_Position = M*vertex[2].position;
EmitVertex();
gl_Position = M*vertex[0].position;
EmitVertex();
EndPrimitive();
}