summaryrefslogtreecommitdiff
path: root/world/src
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2025-01-09 20:19:43 +0100
committermetamuffin <metamuffin@disroot.org>2025-01-09 20:19:43 +0100
commit726f435d29d9c341fad8dc9fdcda3ffdfbb320e8 (patch)
treef8ebed9e7020ccc9d4842b9a55a32a42123efbf0 /world/src
parentb3100a141c2290e9d99c9dd8c2de97940dd0c44b (diff)
downloadweareserver-726f435d29d9c341fad8dc9fdcda3ffdfbb320e8.tar
weareserver-726f435d29d9c341fad8dc9fdcda3ffdfbb320e8.tar.bz2
weareserver-726f435d29d9c341fad8dc9fdcda3ffdfbb320e8.tar.zst
proper attenuation calculation
Diffstat (limited to 'world/src')
-rw-r--r--world/src/mesh.rs3
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();