aboutsummaryrefslogtreecommitdiff
path: root/resources/shader.geom
diff options
context:
space:
mode:
Diffstat (limited to 'resources/shader.geom')
-rw-r--r--resources/shader.geom30
1 files changed, 30 insertions, 0 deletions
diff --git a/resources/shader.geom b/resources/shader.geom
new file mode 100644
index 0000000..05a2975
--- /dev/null
+++ b/resources/shader.geom
@@ -0,0 +1,30 @@
+#version 330 core
+
+layout(points) in;
+layout(line_strip, max_vertices = 2) out;
+
+uniform mat4 MVP; // Model View Projection Matrix
+
+uniform float length = 1.0;
+uniform vec3 color = vec3(1.0, 1.0, 1.0);
+
+in vec3 vertex_normal[];
+
+out vec3 vertex_color;
+
+void main()
+{
+ vec3 normal = vertex_normal[0];
+
+ vertex_color = color;
+
+ vec4 v0 = gl_in[0].gl_Position;
+ gl_Position = mvp * v0;
+ EmitVertex();
+
+ vec4 v1 = v0 + vec4(normal * length, 0.0);
+ gl_Position = mvp * v1;
+ EmitVertex();
+
+ EndPrimitive();
+}