summaryrefslogtreecommitdiff
path: root/intermediate/ui.glsl
diff options
context:
space:
mode:
authorquou <quou@disroot.org>2024-12-27 11:35:01 +1100
committerquou <quou@disroot.org>2024-12-27 11:36:20 +1100
commit6736966974aea334e119cdb0b6c330066061bf91 (patch)
treea16cc9a3d12e6f9468dbb8fe30146acd78f4af64 /intermediate/ui.glsl
parent5f9100b935a27bbb6d5ac8ab2050b19ba2894087 (diff)
basic text rendering
Diffstat (limited to 'intermediate/ui.glsl')
-rw-r--r--intermediate/ui.glsl56
1 files changed, 56 insertions, 0 deletions
diff --git a/intermediate/ui.glsl b/intermediate/ui.glsl
new file mode 100644
index 0000000..e40d3d5
--- /dev/null
+++ b/intermediate/ui.glsl
@@ -0,0 +1,56 @@
+#ifdef DESC
+[program]
+type: graphics
+vertex: main
+fragment: main
+
+[binding]
+name: verts
+rate: vertex
+[attribute]
+name: position
+type: vec2
+[attribute]
+name: uv
+type: vec2
+[attribute]
+name: colour
+type: vec4
+
+[interpolator]
+name: colour
+type: vec4
+[interpolator]
+name: uv
+type: vec2
+
+[texture]
+name: atlas
+stage: fragment
+dimension: 2
+
+[target]
+name: colour
+type: vec4
+
+#endif
+
+#ifdef VERTEX_SHADER
+
+void main() {
+ interpolator.colour = colour;
+ interpolator.uv = uv;
+ gl_Position = vec4(position, 0.0, 1.0);
+}
+
+#endif
+
+#ifdef FRAGMENT_SHADER
+
+void main() {
+ vec4 c = texture(atlas, interpolator.uv).r.xxxx;
+ c *= interpolator.colour;
+ colour = c;
+}
+
+#endif