diff options
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 |