summaryrefslogtreecommitdiff
path: root/src/shaders/skybox.wgsl
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-03-08 09:13:57 +0100
committerskal <pascal.massimino@gmail.com>2026-03-08 09:13:57 +0100
commit9d114ae4fec465baed381de7782ef42ca77e734b (patch)
tree45483faf97e91f6c97848fd4e6e7723bb0de153e /src/shaders/skybox.wgsl
parentfa0beb7cc3e4ab9edfd123933fd205053dc3ac31 (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/skybox.wgsl')
-rw-r--r--src/shaders/skybox.wgsl2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/shaders/skybox.wgsl b/src/shaders/skybox.wgsl
index 075eeb6..652743f 100644
--- a/src/shaders/skybox.wgsl
+++ b/src/shaders/skybox.wgsl
@@ -10,7 +10,7 @@
fn fs_main(in: VertexOutput) -> @location(0) vec4f {
// Convert UV to NDC
let ndc_x = in.uv.x * 2.0 - 1.0;
- let ndc_y = (1.0 - in.uv.y) * 2.0 - 1.0; // Un-flip Y for NDC (Y-up)
+ let ndc_y = in.uv.y * 2.0 - 1.0; // uv is y-up, matches NDC directly
// Unproject to find world direction
// We want the direction from camera to the far plane at this pixel