1#version 310 es
2#extension GL_EXT_geometry_shader : require
3
4layout(points) in;
5layout(points, max_vertices = 3) out;
6
7layout(location = 0) in VertexData {
8    vec3 normal;
9} vin[];
10
11layout(location = 0) out vec3 vNormal;
12
13void main()
14{
15    gl_Position = gl_in[0].gl_Position;
16    vNormal = vin[0].normal;
17    EmitVertex();
18
19    gl_Position = gl_in[0].gl_Position;
20    vNormal = vin[0].normal;
21    EmitVertex();
22
23    gl_Position = gl_in[0].gl_Position;
24    vNormal = vin[0].normal;
25    EmitVertex();
26
27    EndPrimitive();
28}
29