summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-02-02 14:25:41 +0100
committerskal <pascal.massimino@gmail.com>2026-02-02 14:25:41 +0100
commit43e257fab0ca544edbb36604a7871f96fd0142bf (patch)
tree927ee2f22f52d5cafb8ed201a680a149ffdc128a /src
parent7f57832c8b64ad560409523dfd69a324245a7761 (diff)
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.
Diffstat (limited to 'src')
-rw-r--r--src/3d/renderer.cc2
-rw-r--r--src/tests/test_3d_render.cc14
2 files changed, 8 insertions, 8 deletions
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>) -> f32 {
fn calc_shadow(ro: vec3<f32>, rd: vec3<f32>, 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);
+ 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("floor_grid"));
+ g_renderer.set_noise_texture(g_textures.get_texture_view("noise"));
setup_scene();