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/camera_common.wgsl | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/shaders/camera_common.wgsl') diff --git a/src/shaders/camera_common.wgsl b/src/shaders/camera_common.wgsl index 846d052..67544f1 100644 --- a/src/shaders/camera_common.wgsl +++ b/src/shaders/camera_common.wgsl @@ -1,4 +1,9 @@ -// Camera parameters and helpers for SDF raymarching effects +// Camera parameters and helpers for SDF raymarching effects. +// +// Coordinate conventions: +// World space: Z-up, Y-forward, X-right +// View space: X-right, Y-up, -Z-forward (camera looks down -Z) +// getCameraRay: expects uv in [-1,1] y-up (pass in.st from fullscreen_uv_vs) struct CameraParams { inv_view: mat4x4f, -- cgit v1.2.3