summaryrefslogtreecommitdiff
path: root/src/shader
diff options
context:
space:
mode:
authorLizzy Fleckenstein <lizzy@vlhl.dev>2026-04-12 20:57:06 +0200
committerLizzy Fleckenstein <lizzy@vlhl.dev>2026-04-12 20:59:39 +0200
commite5af28536bfb0f4c9131df56d2009ba5196f5e3a (patch)
tree3ab928f961a1ccd8440b070d7b57f79146457e8c /src/shader
downloadanimtool-e5af28536bfb0f4c9131df56d2009ba5196f5e3a.tar.xz
init
Diffstat (limited to 'src/shader')
-rw-r--r--src/shader/fragment_color.glsl13
-rw-r--r--src/shader/fragment_cubemap.glsl16
-rw-r--r--src/shader/fragment_texture.glsl16
-rw-r--r--src/shader/vertex.glsl17
4 files changed, 62 insertions, 0 deletions
diff --git a/src/shader/fragment_color.glsl b/src/shader/fragment_color.glsl
new file mode 100644
index 0000000..6980821
--- /dev/null
+++ b/src/shader/fragment_color.glsl
@@ -0,0 +1,13 @@
+#version 330 core
+
+in vec3 frag_pos;
+in vec2 frag_tex;
+
+out vec4 out_color;
+
+uniform vec3 color;
+
+void main()
+{
+ out_color = vec4(color, 1.0);
+}
diff --git a/src/shader/fragment_cubemap.glsl b/src/shader/fragment_cubemap.glsl
new file mode 100644
index 0000000..fad97b4
--- /dev/null
+++ b/src/shader/fragment_cubemap.glsl
@@ -0,0 +1,16 @@
+#version 330 core
+
+in vec3 frag_pos;
+in vec2 frag_tex;
+
+out vec4 out_color;
+
+uniform vec3 color;
+uniform samplerCube tex;
+
+void main()
+{
+ out_color = texture(tex, normalize(frag_pos)) * vec4(color, 1.0);
+ if (out_color.a == 0.0)
+ discard;
+}
diff --git a/src/shader/fragment_texture.glsl b/src/shader/fragment_texture.glsl
new file mode 100644
index 0000000..43c40bc
--- /dev/null
+++ b/src/shader/fragment_texture.glsl
@@ -0,0 +1,16 @@
+#version 330 core
+
+in vec3 frag_pos;
+in vec2 frag_tex;
+
+out vec4 out_color;
+
+uniform vec3 color;
+uniform sampler2D tex;
+
+void main()
+{
+ out_color = texture(tex, frag_tex) * vec4(color, 1.0);
+ if (out_color.a == 0.0)
+ discard;
+}
diff --git a/src/shader/vertex.glsl b/src/shader/vertex.glsl
new file mode 100644
index 0000000..9389715
--- /dev/null
+++ b/src/shader/vertex.glsl
@@ -0,0 +1,17 @@
+#version 330 core
+
+layout(location = 0) in vec3 vert_pos;
+layout(location = 1) in vec2 vert_tex;
+
+out vec3 frag_pos;
+out vec2 frag_tex;
+
+uniform mat4 model;
+uniform mat4 view_proj;
+
+void main()
+{
+ gl_Position = view_proj * model * vec4(vert_pos, 1.0);
+ frag_pos = vert_pos;
+ frag_tex = vert_tex;
+}