hachem.wtf
aboutsummaryrefslogtreecommitdiff
path: root/assets/textured.glsl
diff options
context:
space:
mode:
authorhachem <im@hachem.wtf>2025-08-12 19:17:50 +0200
committerhachem <im@hachem.wtf>2025-08-12 19:17:50 +0200
commit3b02022fd79ad0e130b8c49e7707d221bfc97bb5 (patch)
tree0da9ee9559969a7f40d92611a3b1c234e38ae36f /assets/textured.glsl
parent7e06a916e6a385c37075abcb83d14b8c1fef7bc0 (diff)
feat: texture and pixel buffers
Diffstat (limited to 'assets/textured.glsl')
-rw-r--r--assets/textured.glsl41
1 files changed, 41 insertions, 0 deletions
diff --git a/assets/textured.glsl b/assets/textured.glsl
new file mode 100644
index 0000000..ad135fe
--- /dev/null
+++ b/assets/textured.glsl
@@ -0,0 +1,41 @@
+#type vertex
+#version 330 core
+
+layout(location = 0) in vec3 a_Position;
+layout(location = 1) in vec4 a_Color;
+layout(location = 2) in vec2 a_TexCoord;
+
+uniform mat4 u_ViewProjection;
+uniform mat4 u_Transform;
+
+out vec3 v_Position;
+out vec4 v_Color;
+out vec2 v_TexCoord;
+
+void main()
+{
+ v_Position = a_Position;
+ v_Color = a_Color;
+ v_TexCoord = a_TexCoord;
+ gl_Position = u_ViewProjection * u_Transform * vec4(a_Position, 1.0);
+}
+
+#type fragment
+#version 330 core
+
+layout(location = 0) out vec4 color;
+
+in vec3 v_Position;
+in vec4 v_Color;
+in vec2 v_TexCoord;
+
+uniform sampler2D u_Texture;
+
+void main()
+{
+ vec4 texColor = texture(u_Texture, v_TexCoord);
+ if (texColor.rgb == vec3(0.0))
+ color = v_Color;
+ else
+ color = v_Color * texColor;
+}