From 3d29a93885442478e1ae36bc16f624e474d36c10 Mon Sep 17 00:00:00 2001 From: Matthew Gordon Date: Tue, 21 Jan 2025 20:14:52 -0400 Subject: [PATCH] Replace ambient coefficient with a no-shadow fill light --- src/app/dem_renderer/dem_renderer.wgsl | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/app/dem_renderer/dem_renderer.wgsl b/src/app/dem_renderer/dem_renderer.wgsl index 9e91b6e..dab531a 100644 --- a/src/app/dem_renderer/dem_renderer.wgsl +++ b/src/app/dem_renderer/dem_renderer.wgsl @@ -96,9 +96,10 @@ fn fs_solid(vertex: VertexOutput) -> @location(0) vec4 { let sun_direction = (uniforms.camera_to_world_matrix * vec4(sun_direction, 0.0)).xyz; - let lambertian_value = dot(hit_normal, sun_direction); - let ambient_strength = 0.25; - let l = ambient_strength + (1.0 - ambient_strength) * lambertian_value * shadow_value; + let sun_lambertian_value = dot(hit_normal, sun_direction); + let fill_lambertian_value = dot(hit_normal, sun_direction * vec3(1.0, -1.0, 1.0)); + let fill_strength = 0.25; + let l = fill_strength * fill_lambertian_value + (1.0 - fill_strength) * sun_lambertian_value * shadow_value; color_accumulator += 0.25 * vec4(vec3(l), 1.0); } }