diff options
| author | skal <pascal.massimino@gmail.com> | 2026-02-14 15:23:14 +0100 |
|---|---|---|
| committer | skal <pascal.massimino@gmail.com> | 2026-02-14 15:23:14 +0100 |
| commit | de7514e6b9ff9c0b9320975ba7d44754b5115b54 (patch) | |
| tree | ef5401878f931357878c6771a3252cf4cf72175a /workspaces/test/shaders/gaussian_blur.wgsl | |
| parent | 8ce27b7e15f0fc65c8ee78950c7501660b936178 (diff) | |
refactor(wgsl): replace inline fullscreen_vs with common include
Replace duplicate fullscreen triangle vertex shader code with
#include "render/fullscreen_vs" in 8 workspace shaders. Eliminates
~60 lines of duplication and establishes single source of truth.
Modified shaders:
- circle_mask_compute.wgsl (main/test)
- circle_mask_render.wgsl (main/test)
- ellipse.wgsl (main/test)
- gaussian_blur.wgsl (main/test)
Updated test_shader_assets.cc to validate include directive instead
of inline @vertex keyword for affected shaders.
All tests passing (34/34).
handoff(Claude): Shader modularization - fullscreen_vs consolidated
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Diffstat (limited to 'workspaces/test/shaders/gaussian_blur.wgsl')
| -rw-r--r-- | workspaces/test/shaders/gaussian_blur.wgsl | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/workspaces/test/shaders/gaussian_blur.wgsl b/workspaces/test/shaders/gaussian_blur.wgsl index 02156f7..22e467f 100644 --- a/workspaces/test/shaders/gaussian_blur.wgsl +++ b/workspaces/test/shaders/gaussian_blur.wgsl @@ -2,6 +2,8 @@ @group(0) @binding(1) var txt: texture_2d<f32>; #include "common_uniforms" +#include "render/fullscreen_vs" + struct GaussianBlurParams { strength: f32, _pad: f32, @@ -10,15 +12,6 @@ struct GaussianBlurParams { @group(0) @binding(2) var<uniform> uniforms: CommonUniforms; @group(0) @binding(3) var<uniform> params: GaussianBlurParams; -@vertex fn vs_main(@builtin(vertex_index) i: u32) -> @builtin(position) vec4<f32> { - var pos = array<vec2<f32>, 3>( - vec2<f32>(-1, -1), - vec2<f32>(3, -1), - vec2<f32>(-1, 3) - ); - return vec4<f32>(pos[i], 0.0, 1.0); -} - @fragment fn fs_main(@builtin(position) p: vec4<f32>) -> @location(0) vec4<f32> { let uv = p.xy / uniforms.resolution; var res = vec4<f32>(0.0); |
