blob: 3720a5f3992a0b14a3841b7da0fb1914bbb34801 (
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
#version 330 core
layout(triangles) in;
layout(line_strip, max_vertices = 6) out;
in VS_OUT {
vec3 normal;
} gs_in[];
uniform mat4 projection;
const float MAGNITUDE = 0.4;
void
generate_line(int index)
{
gl_Position = projection*gl_in[index].gl_Position;
EmitVertex();
gl_Position = projection*(gl_in[index].gl_Position+
vec4(gs_in[index].normal, 0.0)*MAGNITUDE);
EmitVertex();
EndPrimitive();
}
void
main(void)
{
/*
vec4 center = (gl_in[0].gl_Position+
gl_in[1].gl_Position+
gl_in[2].gl_Position)/3.0;
vec4 end = center+vec4(((gs_in[0].normal+
gs_in[1].normal+
gs_in[2].normal)/3.0),
0.0)*MAGNITUDE;
gl_Position = projection*center;
EmitVertex();
gl_Position = projection*end;
EmitVertex();
EndPrimitive();
*/
generate_line(0);
generate_line(1);
generate_line(2);
}
|