diff options
| -rw-r--r-- | src/3d/renderer.cc | 4 | ||||
| -rw-r--r-- | src/tests/test_3d_render.cc | 2 |
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 |
