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
|
#version 320 es
layout(points) in;
layout(line_strip, max_vertices = 64) out;
in highp vec3 vColor[];
in highp float vSides[];
out highp vec3 fColor;
const float PI = 3.1415926;
void main()
{
fColor = vColor[0];
for (int i = 0; i <= 4; i++) { // Angle between each side in radians
vec4 offset = vec4(vSides[0] *.8,-vSides[0] *1.1, 0.0, 0.0);
if(i==1)
offset = vec4(vSides[0] *.8,vSides[0] *1.1, 0.0, 0.0);
if(i==2)
offset = vec4(-vSides[0] *.8,vSides[0] *1.1, 0.0, 0.0);
if(i==3)
offset = vec4(-vSides[0] *.8,-vSides[0] *1.1, 0.0, 0.0);
if(i==4)
offset = vec4(vSides[0] *.8,-vSides[0] *1.1, 0.0, 0.0);
gl_Position = gl_in[0].gl_Position - offset;
EmitVertex();
}
EndPrimitive();
}
|