summaryrefslogtreecommitdiff
path: root/common/shaders/render/fullscreen_uv_vs.wgsl
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-02-28 00:39:32 +0100
committerskal <pascal.massimino@gmail.com>2026-02-28 00:51:27 +0100
commit75e561bd092895a031ae4475f7d1fdc35b1b1832 (patch)
tree8e193d59fa2c01148e625703d65ba0de5c6a4ce8 /common/shaders/render/fullscreen_uv_vs.wgsl
parenta1e2159b0ff2cb1ecf2c4bc1dc95bf576fda282b (diff)
fix(shaders): deduplicate VertexOutput/vs_main via render/fullscreen_uv_vs snippet
- Fix vs_main return type (VertexOutput, not vec4<f32>) - Fix #include paths in passthrough, gaussian_blur, heptagon, combined_postprocess - ShaderComposer: assert + suggest correct path on missing #include (non-STRIP_ALL) - VerifyIncludes: upgrade WARNING to ERROR + assert, add "did you mean?" hint Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'common/shaders/render/fullscreen_uv_vs.wgsl')
-rw-r--r--common/shaders/render/fullscreen_uv_vs.wgsl15
1 files changed, 15 insertions, 0 deletions
diff --git a/common/shaders/render/fullscreen_uv_vs.wgsl b/common/shaders/render/fullscreen_uv_vs.wgsl
new file mode 100644
index 0000000..42d87c3
--- /dev/null
+++ b/common/shaders/render/fullscreen_uv_vs.wgsl
@@ -0,0 +1,15 @@
+// Common vertex shader for fullscreen post-processing effects.
+// Draws a single triangle that covers the entire screen, with uv
+// coordinates in [0..1]
+struct VertexOutput {
+ @builtin(position) position: vec4<f32>,
+ @location(0) uv: vec2<f32>,
+};
+
+@vertex fn vs_main(@builtin(vertex_index) i: u32) -> VertexOutput {
+ let pos = array<vec4f, 3>(vec4f(-1, -1, 0, 1.), vec4f(3, -1, 2., 1.), vec4f(-1, 3, 0, -1));
+ var out: VertexOutput;
+ out.position = vec4f(pos[i].xy, 0.0, 1.0);
+ out.uv = pos[i].zw;
+ return out;
+}