summaryrefslogtreecommitdiff
path: root/intermediate
diff options
context:
space:
mode:
Diffstat (limited to 'intermediate')
-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