godot/servers/physics
lawnjelly 07e5022cce
BVH - add option for expanded AABBs in leaves
This PR adds a define BVH_EXPAND_LEAF_AABBS which is set, which stores expanded AABBs in the tree instead of exact AABBs.

This makes the logic less error prone when considering reciprocal collisions in the pairing, as all collision detect is now taking place between expanded AABB against expanded AABB, rather than expanded AABB against exact AABB.

The flip side of this is that the intersection tests will now be less exact when expanded margins are set.

All margins are now user customizable via project settings, and take account of collision pairing density to adjust the margin dynamically.

(cherry picked from commit 211dc8cd2d)
2021-11-25 23:13:14 +01:00
..
joints clang-format: Various fixes to comments alignment from `clang-format` 13 2021-10-28 14:50:32 +02:00
SCsub SCons: Format buildsystem files with psf/black 2020-06-10 15:30:52 +02:00
area_pair_sw.cpp Fix and clean disabled shapes handling in godot physics servers 2021-06-22 16:48:24 -07:00
area_pair_sw.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
area_sw.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
area_sw.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
body_pair_sw.cpp clang-format: Disable alignment of operands, too unreliable 2021-10-28 13:23:38 +02:00
body_pair_sw.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
body_sw.cpp Epsilon check for angular velocity in BodySW 2021-08-16 20:11:46 +02:00
body_sw.h Added wakeup() call to velocity, force and impulse functions. 2021-09-28 19:00:10 +13:00
broad_phase_basic.cpp Fix physics BVH broadphase update when changing collision layer/mask 2021-10-21 16:53:41 -07:00
broad_phase_basic.h Fix physics BVH broadphase update when changing collision layer/mask 2021-10-21 16:53:41 -07:00
broad_phase_bvh.cpp BVH - add option for expanded AABBs in leaves 2021-11-25 23:13:14 +01:00
broad_phase_bvh.h Fix physics BVH broadphase update when changing collision layer/mask 2021-10-21 16:53:41 -07:00
broad_phase_octree.cpp Fix physics BVH broadphase update when changing collision layer/mask 2021-10-21 16:53:41 -07:00
broad_phase_octree.h Fix physics BVH broadphase update when changing collision layer/mask 2021-10-21 16:53:41 -07:00
broad_phase_sw.cpp Style: Replaces uses of 0/NULL by nullptr (C++11) 2021-05-04 16:30:23 +02:00
broad_phase_sw.h Fix physics BVH broadphase update when changing collision layer/mask 2021-10-21 16:53:41 -07:00
collision_object_sw.cpp Fix physics BVH broadphase update when changing collision layer/mask 2021-10-21 16:53:41 -07:00
collision_object_sw.h Fix physics BVH broadphase update when changing collision layer/mask 2021-10-21 16:53:41 -07:00
collision_solver_sat.cpp Fix Transform::xform(Plane) functions, add Transform unit tests 2021-08-07 08:05:39 +01:00
collision_solver_sat.h Style: Replaces uses of 0/NULL by nullptr (C++11) 2021-05-04 16:30:23 +02:00
collision_solver_sw.cpp Fix Rayshape recovery in test_body_ray_separation 2021-10-05 18:24:30 -07:00
collision_solver_sw.h Fix Rayshape recovery in test_body_ray_separation 2021-10-05 18:24:30 -07:00
constraint_sw.h Style: Replaces uses of 0/NULL by nullptr (C++11) 2021-05-04 16:30:23 +02:00
gjk_epa.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
gjk_epa.h Fix Cylinder shape collision with margins when using GJK-EPA 2021-03-16 10:20:19 -07:00
joints_sw.h Style: Replaces uses of 0/NULL by nullptr (C++11) 2021-05-04 16:30:23 +02:00
physics_server_sw.cpp Fix errors in KinematicBody when floor is destroyed or removed 2021-11-15 22:32:53 +01:00
physics_server_sw.h Fix 3D moving platform logic 2021-08-09 18:55:49 -07:00
shape_sw.cpp Optimize raycast with large Heightmap shape data 2021-09-06 15:59:47 -07:00
shape_sw.h Fix the volume calculation for cylinders 2021-11-15 22:23:17 +01:00
space_sw.cpp Fix physics BVH broadphase update when changing collision layer/mask 2021-10-21 16:53:41 -07:00
space_sw.h Fix physics BVH broadphase update when changing collision layer/mask 2021-10-21 16:53:41 -07:00
step_sw.cpp Fix physics BVH pairing for teleported or fast moving objects 2021-11-16 21:23:39 +01:00
step_sw.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00