summaryrefslogtreecommitdiff
path: root/inc/opengl/shaders/basicshader.geom
diff options
context:
space:
mode:
Diffstat (limited to 'inc/opengl/shaders/basicshader.geom')
-rw-r--r--inc/opengl/shaders/basicshader.geom33
1 files changed, 33 insertions, 0 deletions
diff --git a/inc/opengl/shaders/basicshader.geom b/inc/opengl/shaders/basicshader.geom
new file mode 100644
index 0000000..3540d10
--- /dev/null
+++ b/inc/opengl/shaders/basicshader.geom
@@ -0,0 +1,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();
+}