diff options
author | quou <quou@disroot.org> | 2024-12-27 11:35:01 +1100 |
---|---|---|
committer | quou <quou@disroot.org> | 2024-12-27 11:36:20 +1100 |
commit | 6736966974aea334e119cdb0b6c330066061bf91 (patch) | |
tree | a16cc9a3d12e6f9468dbb8fe30146acd78f4af64 /intermediate/ui.glsl | |
parent | 5f9100b935a27bbb6d5ac8ab2050b19ba2894087 (diff) |
basic text rendering
Diffstat (limited to 'intermediate/ui.glsl')
-rw-r--r-- | intermediate/ui.glsl | 56 |
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 |