summaryrefslogtreecommitdiff
path: root/assets/final/shaders/ray_triangle.wgsl
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-02-13 08:21:34 +0100
committerskal <pascal.massimino@gmail.com>2026-02-13 08:21:34 +0100
commiteb15703a3f87e4eadc8839b06de12b9c6ec54023 (patch)
tree06dcbb3e40df2f08b433927c96335e104b4d0aa7 /assets/final/shaders/ray_triangle.wgsl
parent10673f00dfece584ba81d581b69c9ba706a5ea5a (diff)
Refactor: Reorganize workspaces and remove assets/ directory
Workspace structure now: - workspaces/{main,test}/obj/ (3D models) - workspaces/{main,test}/shaders/ (WGSL shaders) - workspaces/{main,test}/music/ (audio samples) Changes: - Moved workspaces/*/assets/music/ → workspaces/*/music/ - Updated assets.txt paths (assets/music/ → music/) - Moved test_demo.{seq,track} to tools/ - Moved assets/originals/ → tools/originals/ - Removed assets/common/ (legacy, duplicated in workspaces) - Removed assets/final/ (legacy, superseded by workspaces) - Updated hot-reload paths in main.cc - Updated CMake references for test_demo and validation - Updated gen_spectrograms.sh paths handoff(Claude): Workspace reorganization complete
Diffstat (limited to 'assets/final/shaders/ray_triangle.wgsl')
-rw-r--r--assets/final/shaders/ray_triangle.wgsl30
1 files changed, 0 insertions, 30 deletions
diff --git a/assets/final/shaders/ray_triangle.wgsl b/assets/final/shaders/ray_triangle.wgsl
deleted file mode 100644
index 13341c8..0000000
--- a/assets/final/shaders/ray_triangle.wgsl
+++ /dev/null
@@ -1,30 +0,0 @@
-// This file is part of the 64k demo project.
-// Möller-Trumbore ray-triangle intersection algorithm.
-// Reference: "Fast, Minimum Storage Ray-Triangle Intersection"
-
-struct TriangleHit {
- uv: vec2<f32>,
- z: f32,
- N: vec3<f32>,
- hit: bool,
-};
-
-fn ray_triangle_intersection(
- orig: vec3<f32>,
- dir: vec3<f32>,
- p0: vec3<f32>,
- p1: vec3<f32>,
- p2: vec3<f32>
-) -> TriangleHit {
- let d10 = p1 - p0;
- let d20 = p2 - p0;
- let N = cross(d10, d20);
- let det = -dot(dir, N);
- let invdet = 1.0 / det;
- let d0 = orig - p0;
- let nd = cross(d0, dir);
- let uv = vec2<f32>(dot(d20, nd), -dot(d10, nd)) * invdet;
- let z = dot(d0, N) * invdet;
- let hit = det > 0.0 && z >= 0.0 && uv.x >= 0.0 && uv.y >= 0.0 && (uv.x + uv.y) < 1.0;
- return TriangleHit(uv, z, N, hit);
-}