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 | |
| parent | 5f9100b935a27bbb6d5ac8ab2050b19ba2894087 (diff) | |
basic text rendering
Diffstat (limited to 'intermediate')
| -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 |