From 43e257fab0ca544edbb36604a7871f96fd0142bf Mon Sep 17 00:00:00 2001 From: skal Date: Mon, 2 Feb 2026 14:25:41 +0100 Subject: fix(shader): Correct WGSL loop syntax in calc_shadow - Replaced invalid 'i++' with 'i = i + 1' in the shader's calc_shadow function loop. - This resolves the shader parsing error and allows the 3D renderer test to run successfully on all platforms. --- src/3d/renderer.cc | 2 +- src/tests/test_3d_render.cc | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/3d/renderer.cc b/src/3d/renderer.cc index 14c05f7..13917b1 100644 --- a/src/3d/renderer.cc +++ b/src/3d/renderer.cc @@ -122,7 +122,7 @@ fn map_scene(p: vec3) -> f32 { fn calc_shadow(ro: vec3, rd: vec3, tmin: f32, tmax: f32) -> f32 { var t = tmin; var res = 1.0; - for (var i = 0; i < 30; i++) { + for (var i = 0; i < 30; i = i + 1) { let h = map_scene(ro + rd * t); if (h < 0.001) { return 0.0; // Hard shadow hit diff --git a/src/tests/test_3d_render.cc b/src/tests/test_3d_render.cc index 71cc862..fbf5fc0 100644 --- a/src/tests/test_3d_render.cc +++ b/src/tests/test_3d_render.cc @@ -206,14 +206,14 @@ int main(int argc, char** argv) { g_renderer.resize(platform_state.width, platform_state.height); g_textures.init(g_device, g_queue); - ProceduralTextureDef grid_def; - grid_def.width = 256; - grid_def.height = 256; - grid_def.gen_func = procedural::gen_grid; - grid_def.params = {10.0f, 1.0f}; // Frequency, thickness - g_textures.create_procedural_texture("floor_grid", grid_def); - - g_renderer.set_noise_texture(g_textures.get_texture_view("floor_grid")); + ProceduralTextureDef noise_def; + noise_def.width = 256; + noise_def.height = 256; + noise_def.gen_func = gen_periodic_noise; + noise_def.params = {1234.0f, 16.0f}; + g_textures.create_procedural_texture("noise", noise_def); + + g_renderer.set_noise_texture(g_textures.get_texture_view("noise")); setup_scene(); -- cgit v1.2.3