From f4a725392205fc9cfeaf9bda32efa5511ad19a55 Mon Sep 17 00:00:00 2001 From: nullprop Date: Sat, 11 Nov 2023 16:20:37 +0200 Subject: [PATCH] Use sampled fog position for lighting instead of volume surface --- res/shaders/fog.wgsl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/res/shaders/fog.wgsl b/res/shaders/fog.wgsl index d0380de..e63312d 100644 --- a/res/shaders/fog.wgsl +++ b/res/shaders/fog.wgsl @@ -112,10 +112,10 @@ fn fs_main(vert: FogVertexOutput) -> @location(0) vec4 { let ambient_color = base_color * ambient_strength; var radiance = vec3(0.0); - let in_light = sample_direct_light(vert.world_position); + let fog_position = vert.world_position.xyz + direction * fog_depth; + let in_light = sample_direct_light(vec4(fog_position, 1.0)); if (in_light > 0.0) { // attenuation - let fog_position = vert.world_position.xyz + direction * fog_depth; let light_dist = length(light.position - fog_position); let coef_a = 0.0; let coef_b = 1.0;