diff options
Diffstat (limited to 'shaders/api-test-ui.vert')
| -rw-r--r-- | shaders/api-test-ui.vert | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/shaders/api-test-ui.vert b/shaders/api-test-ui.vert new file mode 100644 index 0000000..6a37abc --- /dev/null +++ b/shaders/api-test-ui.vert @@ -0,0 +1,37 @@ +#extension GL_EXT_buffer_reference : require
+
+struct vertex {
+ vec2 pos;
+ vec2 uv;
+ uint color;
+ uint[3] padding;
+};
+
+layout(buffer_reference) readonly buffer vertices {
+ vertex vertices[];
+};
+
+layout(set = 1, binding = 0) uniform parameters {
+ vertices vertex_buffer;
+ vec2 scale;
+ vec2 translate;
+} params;
+
+out gl_PerVertex {
+ vec4 gl_Position;
+};
+
+layout(location = 0) out struct {
+ vec2 uv;
+ vec4 color;
+} Out;
+
+
+void main() {
+ vertex v = params.vertex_buffer.vertices[gl_VertexIndex];
+
+ Out.color = unpackUnorm4x8(v.color);
+ Out.uv = v.uv;
+
+ gl_Position = vec4(v.pos * params.scale + params.translate, 0.0, 1.0);
+}
|
