1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
#version 330 core
layout(points) in;
layout(triangle_strip, max_vertices = 5) out;
in VS_OUT {
vec3 color;
} gs_in[];
out vec3 fcolor;
void
main(void)
{
fcolor = gs_in[0].color;
gl_Position = gl_in[0].gl_Position+vec4(-0.2, -0.2, 0.0, 0.0);
EmitVertex();
gl_Position = gl_in[0].gl_Position+vec4(0.2, -0.2, 0.0, 0.0);
EmitVertex();
gl_Position = gl_in[0].gl_Position+vec4(-0.2, 0.2, 0.0, 0.0);
EmitVertex();
gl_Position = gl_in[0].gl_Position+vec4(0.2, 0.2, 0.0, 0.0);
EmitVertex();
fcolor = vec3(1.0, 1.0, 1.0);
gl_Position = gl_in[0].gl_Position+vec4(0.0, 0.4, 0.0, 0.0);
EmitVertex();
EndPrimitive();
}
|