diff options
Diffstat (limited to 'src/3d/physics.cc')
| -rw-r--r-- | src/3d/physics.cc | 26 |
1 files changed, 1 insertions, 25 deletions
diff --git a/src/3d/physics.cc b/src/3d/physics.cc index 2aa101d..db27e95 100644 --- a/src/3d/physics.cc +++ b/src/3d/physics.cc @@ -6,31 +6,7 @@ #include "3d/sdf_cpu.h" #include <algorithm> -namespace { -// Helper to get world AABB (copied from bvh.cc or shared) -AABB get_world_aabb(const Object3D& obj) { - BoundingVolume local = obj.get_local_bounds(); - mat4 model = obj.get_model_matrix(); - - vec3 corners[8] = { - {local.min.x, local.min.y, local.min.z}, - {local.max.x, local.min.y, local.min.z}, - {local.min.x, local.max.y, local.min.z}, - {local.max.x, local.max.y, local.min.z}, - {local.min.x, local.min.y, local.max.z}, - {local.max.x, local.min.y, local.max.z}, - {local.min.x, local.max.y, local.max.z}, - {local.max.x, local.max.y, local.max.z}, - }; - - AABB world; - for (int i = 0; i < 8; ++i) { - vec4 p = model * vec4(corners[i].x, corners[i].y, corners[i].z, 1.0f); - world.expand(p.xyz()); - } - return world; -} -} // namespace +// get_world_aabb() is declared in bvh.h float PhysicsSystem::sample_sdf(const Object3D& obj, vec3 world_p) { mat4 inv_model = obj.get_model_matrix().inverse(); |
