summaryrefslogtreecommitdiff
path: root/src/3d/physics.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/3d/physics.cc')
-rw-r--r--src/3d/physics.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/3d/physics.cc b/src/3d/physics.cc
index 351dd06..229eb40 100644
--- a/src/3d/physics.cc
+++ b/src/3d/physics.cc
@@ -54,7 +54,11 @@ float PhysicsSystem::sample_sdf(const Object3D& obj, vec3 world_p) {
float sx = vec3(model.m[0], model.m[1], model.m[2]).len();
float sy = vec3(model.m[4], model.m[5], model.m[6]).len();
float sz = vec3(model.m[8], model.m[9], model.m[10]).len();
+
float s = std::min(sx, std::min(sy, sz));
+ if (obj.type == ObjectType::PLANE) {
+ s = sy; // For plane with local normal (0,1,0), scale is sy
+ }
return d * s;
}