summaryrefslogtreecommitdiff
path: root/advanced_opengl/8.geometry_shader/shaders/base.gs
blob: 6b140c521ea83c16ba57450fdc76dc10d622e2c8 (plain)
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();
}