From afb04da1fc4780eed271064649377cf3e08d391f Mon Sep 17 00:00:00 2001 From: skal Date: Sun, 8 Feb 2026 17:01:33 +0100 Subject: feat(shaders): Add Möller-Trumbore ray-triangle intersection MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Implements ray-triangle intersection algorithm for future mesh raytracing support. Changes: - Add ray_triangle.wgsl with TriangleHit struct and intersection function - Register shader snippet in asset system (SHADER_RAY_TRIANGLE) - Add shader composer registration for #include "ray_triangle" support Returns: - hit.uv: Barycentric coordinates (for texture mapping) - hit.z: Parametric distance along ray - hit.N: Triangle face normal - hit.hit: Boolean indicating intersection Task: Progress on SDF for mesh (related to Task #18) Algorithm: Fast, Minimum Storage Ray-Triangle Intersection (Möller-Trumbore) Size: ~30 lines WGSL, negligible binary impact --- assets/final/demo_assets.txt | 1 + 1 file changed, 1 insertion(+) (limited to 'assets/final/demo_assets.txt') diff --git a/assets/final/demo_assets.txt b/assets/final/demo_assets.txt index 256f246..5d40f7f 100644 --- a/assets/final/demo_assets.txt +++ b/assets/final/demo_assets.txt @@ -27,6 +27,7 @@ SHADER_COMMON_UNIFORMS, NONE, shaders/common_uniforms.wgsl, "Common Uniforms Sni SHADER_SDF_PRIMITIVES, NONE, shaders/sdf_primitives.wgsl, "SDF Primitives Snippet" SHADER_LIGHTING, NONE, shaders/lighting.wgsl, "Lighting Snippet" SHADER_RAY_BOX, NONE, shaders/ray_box.wgsl, "Ray-Box Intersection Snippet" +SHADER_RAY_TRIANGLE, NONE, shaders/ray_triangle.wgsl, "Ray-Triangle Intersection Snippet (Möller-Trumbore)" SHADER_MAIN, NONE, shaders/main_shader.wgsl, "Main Heptagon Shader" SHADER_PARTICLE_COMPUTE, NONE, shaders/particle_compute.wgsl, "Particle Compute Shader" SHADER_PARTICLE_RENDER, NONE, shaders/particle_render.wgsl, "Particle Render Shader" -- cgit v1.2.3