summaryrefslogtreecommitdiff
path: root/geometry_shader/shaders/base.gs
diff options
context:
space:
mode:
authorpryazha <pryadeiniv@mail.ru>2025-01-19 17:33:44 +0500
committerpryazha <pryadeiniv@mail.ru>2025-01-19 17:33:44 +0500
commitbd49bd525f4c6c6c15c4142bf42d1dd38be6fc16 (patch)
tree9e69f473c34b53e9e57d8af1873c39698bf5c80e /geometry_shader/shaders/base.gs
initial commit
Diffstat (limited to 'geometry_shader/shaders/base.gs')
-rw-r--r--geometry_shader/shaders/base.gs27
1 files changed, 27 insertions, 0 deletions
diff --git a/geometry_shader/shaders/base.gs b/geometry_shader/shaders/base.gs
new file mode 100644
index 0000000..6b140c5
--- /dev/null
+++ b/geometry_shader/shaders/base.gs
@@ -0,0 +1,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();
+}