diff options
author | metamuffin <metamuffin@disroot.org> | 2025-01-09 20:19:43 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2025-01-09 20:19:43 +0100 |
commit | 726f435d29d9c341fad8dc9fdcda3ffdfbb320e8 (patch) | |
tree | f8ebed9e7020ccc9d4842b9a55a32a42123efbf0 | |
parent | b3100a141c2290e9d99c9dd8c2de97940dd0c44b (diff) | |
download | weareserver-726f435d29d9c341fad8dc9fdcda3ffdfbb320e8.tar weareserver-726f435d29d9c341fad8dc9fdcda3ffdfbb320e8.tar.bz2 weareserver-726f435d29d9c341fad8dc9fdcda3ffdfbb320e8.tar.zst |
proper attenuation calculation
-rw-r--r-- | world/src/mesh.rs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/world/src/mesh.rs b/world/src/mesh.rs index 7352583..a38980e 100644 --- a/world/src/mesh.rs +++ b/world/src/mesh.rs @@ -282,7 +282,8 @@ pub fn import_mesh( let g_attenuation = p.material().volume().map(|v| { let ref_dist = v.attenuation_distance(); Vec3A::from_array(v.attenuation_color().map( - |factor| factor * ref_dist, // TODO figure out how that is converted + // manually derived from attenuation coefficient formula. i hope this is correct. + |factor| -(factor.powf(1. / ref_dist)).ln(), )) }); let g_refractive_index = p.material().ior(); |