summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/3d/renderer.cc4
-rw-r--r--src/tests/test_3d_render.cc2
2 files changed, 4 insertions, 2 deletions
diff --git a/src/3d/renderer.cc b/src/3d/renderer.cc
index b655588..3280df7 100644
--- a/src/3d/renderer.cc
+++ b/src/3d/renderer.cc
@@ -222,7 +222,9 @@ fn fs_main(in: VertexOutput) -> @location(0) vec4<f32> {
normal = normalize(mat3 * n_local);
}
- let shadow = calc_shadow(p + normal * 0.05, light_dir, 0.0, 20.0);
+ let light_dir = normalize(vec3<f32>(0.2, 1.0, 0.2)); // More vertical light for easier shadow debugging
+ let shadow = calc_shadow(p + normal * 0.01, light_dir, 0.0, 20.0);
+
let lighting = (max(dot(normal, light_dir), 0.0) * shadow) + 0.1;
return vec4<f32>(in.color.rgb * lighting, 1.0);
}
diff --git a/src/tests/test_3d_render.cc b/src/tests/test_3d_render.cc
index aa69675..fbf5fc0 100644
--- a/src/tests/test_3d_render.cc
+++ b/src/tests/test_3d_render.cc
@@ -141,7 +141,7 @@ void setup_scene() {
Object3D floor(ObjectType::CUBE);
floor.position = vec3(0, -2.0f, 0);
floor.scale = vec3(20.0f, 0.5f, 20.0f);
- floor.color = vec4(0.8f, 0.8f, 0.8f, 1.0f);
+ floor.color = vec4(0.9f, 0.9f, 0.9f, 1.0f); // Brighter white for better shadow contrast
g_scene.add_object(floor);
// Center object