From 9d114ae4fec465baed381de7782ef42ca77e734b Mon Sep 17 00:00:00 2001 From: skal Date: Sun, 8 Mar 2026 09:13:57 +0100 Subject: 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 --- src/shaders/gaussian_blur.wgsl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/shaders/gaussian_blur.wgsl') 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; } -- cgit v1.2.3