From e5af28536bfb0f4c9131df56d2009ba5196f5e3a Mon Sep 17 00:00:00 2001 From: Lizzy Fleckenstein Date: Sun, 12 Apr 2026 20:57:06 +0200 Subject: init --- src/shader/fragment_color.glsl | 13 +++++++++++++ src/shader/fragment_cubemap.glsl | 16 ++++++++++++++++ src/shader/fragment_texture.glsl | 16 ++++++++++++++++ src/shader/vertex.glsl | 17 +++++++++++++++++ 4 files changed, 62 insertions(+) create mode 100644 src/shader/fragment_color.glsl create mode 100644 src/shader/fragment_cubemap.glsl create mode 100644 src/shader/fragment_texture.glsl create mode 100644 src/shader/vertex.glsl (limited to 'src/shader') 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; +} -- cgit v1.2.3