diff options
| author | skal <pascal.massimino@gmail.com> | 2026-02-28 09:08:57 +0100 |
|---|---|---|
| committer | skal <pascal.massimino@gmail.com> | 2026-02-28 09:08:57 +0100 |
| commit | 9ee410594a52cbc699b13de2bde4860d70c959a3 (patch) | |
| tree | d56adf5931d488abcf3ac8e24a828d2d5b02e8cc /src/shaders/ray_box.wgsl | |
| parent | 6599a428cd69be6c66c5179e1f0fce42f561f935 (diff) | |
refactor: move common/shaders/ to src/shaders/
Relocates shared WGSL shaders under src/ where all source code lives,
eliminating the top-level common/ directory.
- Update asset references in workspaces/main/assets.txt and workspaces/test/assets.txt
- Update docs: PROJECT_CONTEXT.md, ARCHITECTURE.md, WORKSPACE_SYSTEM.md, SHADER_REUSE_INVESTIGATION.md
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'src/shaders/ray_box.wgsl')
| -rw-r--r-- | src/shaders/ray_box.wgsl | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/shaders/ray_box.wgsl b/src/shaders/ray_box.wgsl new file mode 100644 index 0000000..37b9d6a --- /dev/null +++ b/src/shaders/ray_box.wgsl @@ -0,0 +1,16 @@ +struct RayBounds { + t_entry: f32, + t_exit: f32, + hit: bool, +}; + +fn ray_box_intersection(ro: vec3f, rd: vec3f, extent: vec3f) -> RayBounds { + let inv_rd = 1.0 / rd; + let t0 = (-extent - ro) * inv_rd; + let t1 = (extent - ro) * inv_rd; + let tmin_vec = min(t0, t1); + let tmax_vec = max(t0, t1); + let t_entry = max(0.0, max(tmin_vec.x, max(tmin_vec.y, tmin_vec.z))); + let t_exit = min(tmax_vec.x, min(tmax_vec.y, tmax_vec.z)); + return RayBounds(t_entry, t_exit, t_entry <= t_exit); +} |
