diff options
Diffstat (limited to 'src/shaders/render/fullscreen_uv_vs.wgsl')
| -rw-r--r-- | src/shaders/render/fullscreen_uv_vs.wgsl | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/shaders/render/fullscreen_uv_vs.wgsl b/src/shaders/render/fullscreen_uv_vs.wgsl new file mode 100644 index 0000000..f9ae427 --- /dev/null +++ b/src/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: vec4f, + @location(0) uv: vec2f, +}; + +@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; +} |
