Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'helix-ui/src/shader.wgsl')
-rw-r--r--helix-ui/src/shader.wgsl28
1 files changed, 28 insertions, 0 deletions
diff --git a/helix-ui/src/shader.wgsl b/helix-ui/src/shader.wgsl
new file mode 100644
index 00000000..bb529648
--- /dev/null
+++ b/helix-ui/src/shader.wgsl
@@ -0,0 +1,28 @@
+
+// struct Vertex {
+// [[location(0)]] position: vec2<f32>;
+// };
+
+struct View {
+ size: vec2<f32>;
+};
+
+[[group(0), binding(0)]]
+var<uniform> view: View;
+
+[[stage(vertex)]]
+fn vs_main([[location(0)]] input: vec2<f32>) -> [[builtin(position)]] vec4<f32> {
+ // TODO: scale by hidpi factor?
+ return vec4<f32>(
+
+ 2.0 * input.x / view.size.x - 1.0,
+ 1.0 - 2.0 * input.y / view.size.y,
+ // input.xy / view.size.xy * 2.0,
+ 0.0, 1.0
+ );
+}
+
+[[stage(fragment)]]
+fn fs_main() -> [[location(0)]] vec4<f32> {
+ return vec4<f32>(1.0, 1.0, 1.0, 1.0);
+}