diff --git a/res/shaders/pbr.wgsl b/res/shaders/pbr.wgsl index b901175..5e6ed7c 100644 --- a/res/shaders/pbr.wgsl +++ b/res/shaders/pbr.wgsl @@ -144,15 +144,16 @@ fn fs_main(in: VertexOutput) -> @location(0) vec4 { ); // ambient - let ambient_light_color = vec3(1.0); - let ambient_strength = 0.025; - let ambient_color = ambient_light_color * ambient_strength; + let ambient_strength = 0.01; + let ambient_color = ambient_strength * albedo; var result = ambient_color + total_radiance; // tonemap result = result / (result + vec3(1.0)); - //result = pow(result, vec3(1.0/2.2)); + // gamma correction + // TODO: seems to already be handled by wgpu? + // result = pow(result, vec3(1.0/2.2)); return vec4(result, object_color.a); } diff --git a/src/core/state.rs b/src/core/state.rs index a7b8bf9..45e4971 100644 --- a/src/core/state.rs +++ b/src/core/state.rs @@ -120,7 +120,7 @@ impl State { let camera_controller = CameraController::new(400.0, 2.0); - let light_uniform = LightUniform::new([100.0, 60.0, 0.0], [1.0, 1.0, 1.0, 100000.0]); + let light_uniform = LightUniform::new([100.0, 60.0, 0.0], [1.0, 1.0, 1.0, 200000.0]); // We'll want to update our lights position, so we use COPY_DST let light_buffer = device.create_buffer_init(&wgpu::util::BufferInitDescriptor {