diff options
| author | skal <pascal.massimino@gmail.com> | 2026-03-08 09:13:57 +0100 |
|---|---|---|
| committer | skal <pascal.massimino@gmail.com> | 2026-03-08 09:13:57 +0100 |
| commit | 9d114ae4fec465baed381de7782ef42ca77e734b (patch) | |
| tree | 45483faf97e91f6c97848fd4e6e7723bb0de153e /src/shaders/gaussian_blur.wgsl | |
| parent | fa0beb7cc3e4ab9edfd123933fd205053dc3ac31 (diff) | |
fix(shaders): enforce y-up screen-space convention + document coordinate conventions
- Add textureSampleYUp() helper to fullscreen_uv_vs.wgsl to correct
y-flip when sampling WebGPU textures with y-up UV coordinates
- Use textureSampleYUp() in passthrough, gaussian_blur, combined_postprocess
- Fix skybox.wgsl: remove erroneous (1.0 - uv.y) flip (double-flip bug)
- Document world/view/screen conventions in doc/3D.md, camera_common.wgsl,
and fullscreen_uv_vs.wgsl
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'src/shaders/gaussian_blur.wgsl')
| -rw-r--r-- | src/shaders/gaussian_blur.wgsl | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/shaders/gaussian_blur.wgsl b/src/shaders/gaussian_blur.wgsl index 7f85719..75f8c39 100644 --- a/src/shaders/gaussian_blur.wgsl +++ b/src/shaders/gaussian_blur.wgsl @@ -24,7 +24,7 @@ struct GaussianBlurParams { for (var i = -kernel_size; i <= kernel_size; i++) { let sample_offset = f32(i) * offset; let weight = exp(-f32(i * i) / (2.0 * params.radius * params.radius)); - color += textureSample(input_texture, input_sampler, in.uv + sample_offset) * weight; + color += textureSampleYUp(input_texture, input_sampler, in.uv + sample_offset) * weight; weight_sum += weight; } |
