1
0
Fork 0
godot/core/math
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
..
SCsub
a_star.cpp clang-format: Disable alignment of operands, too unreliable 2021-10-28 13:23:38 +02:00
a_star.h
aabb.cpp Portal occlusion culling 2021-07-14 11:43:23 +01:00
aabb.h clang-format: Disable alignment of operands, too unreliable 2021-10-28 13:23:38 +02:00
audio_frame.cpp
audio_frame.h
basis.cpp clang-format: Enable `BreakBeforeTernaryOperators` 2021-10-28 14:50:33 +02:00
basis.h clang-format: Disable alignment of operands, too unreliable 2021-10-28 13:23:38 +02:00
bsp_tree.cpp Remove do{ } while(0) wrapper around error macros 2021-09-12 15:04:53 +08:00
bsp_tree.h
bvh.h BVH - add option for expanded AABBs in leaves 2021-11-25 23:13:14 +01:00
bvh_abb.h BVH - detect shrinkage within expanded bounds 2021-11-25 23:13:12 +01:00
bvh_cull.inc BVH - detect shrinkage within expanded bounds 2021-11-25 23:13:12 +01:00
bvh_debug.inc BVH - detect shrinkage within expanded bounds 2021-11-25 23:13:12 +01:00
bvh_integrity.inc
bvh_logic.inc clang-format: Various fixes to comments alignment from `clang-format` 13 2021-10-28 14:50:32 +02:00
bvh_misc.inc
bvh_pair.inc BVH - add option for expanded AABBs in leaves 2021-11-25 23:13:14 +01:00
bvh_public.inc BVH - add option for expanded AABBs in leaves 2021-11-25 23:13:14 +01:00
bvh_refit.inc
bvh_split.inc BVH - detect shrinkage within expanded bounds 2021-11-25 23:13:12 +01:00
bvh_structs.inc BVH - detect shrinkage within expanded bounds 2021-11-25 23:13:12 +01:00
bvh_tree.h BVH - add option for expanded AABBs in leaves 2021-11-25 23:13:14 +01:00
camera_matrix.cpp
camera_matrix.h
convex_hull.cpp clang-format: Enable `BreakBeforeTernaryOperators` 2021-10-28 14:50:33 +02:00
convex_hull.h Options to clean/simplify convex hull generated from mesh 2021-07-09 17:45:59 -07:00
delaunay.h
disjoint_set.cpp
disjoint_set.h
expression.cpp
expression.h
face3.cpp
face3.h clang-format: Various fixes to comments alignment from `clang-format` 13 2021-10-28 14:50:32 +02:00
geometry.cpp Portal occlusion culling 2021-07-14 11:43:23 +01:00
geometry.h Portal occlusion culling 2021-07-14 11:43:23 +01:00
math_defs.h clang-format: Various fixes to comments alignment from `clang-format` 13 2021-10-28 14:50:32 +02:00
math_fieldwise.cpp
math_fieldwise.h
math_funcs.cpp [3.x] Warn when using the dectime method 2021-09-21 10:03:42 -05:00
math_funcs.h clang-format: Disable alignment of operands, too unreliable 2021-10-28 13:23:38 +02:00
octree.h
octree_definition.inc Fix physics BVH broadphase update when changing collision layer/mask 2021-10-21 16:53:41 -07:00
plane.cpp clang-format: Disable alignment of operands, too unreliable 2021-10-28 13:23:38 +02:00
plane.h
quat.cpp [3.x] Add Quat angle_to method 2021-06-18 11:00:44 -04:00
quat.h [3.x] Add Quat angle_to method 2021-06-18 11:00:44 -04:00
quick_hull.cpp Quickhull - reduce warning spam and make hideable 2021-08-10 12:06:46 +01:00
quick_hull.h Portal occlusion culling 2021-07-14 11:43:23 +01:00
random_number_generator.cpp
random_number_generator.h
random_pcg.cpp
random_pcg.h
rect2.cpp
rect2.h clang-format: Disable alignment of operands, too unreliable 2021-10-28 13:23:38 +02:00
transform.cpp
transform.h Fix Transform::xform(Plane) functions, add Transform unit tests 2021-08-07 08:05:39 +01:00
transform_2d.cpp
transform_2d.h clang-format: Disable alignment of operands, too unreliable 2021-10-28 13:23:38 +02:00
triangle_mesh.cpp
triangle_mesh.h Clean convex hull decomposition code 2021-07-13 11:13:25 -07:00
triangulate.cpp clang-format: Various fixes to comments alignment from `clang-format` 13 2021-10-28 14:50:32 +02:00
triangulate.h
vector2.cpp clang-format: Disable alignment of operands, too unreliable 2021-10-28 13:23:38 +02:00
vector2.h
vector3.cpp clang-format: Disable alignment of operands, too unreliable 2021-10-28 13:23:38 +02:00
vector3.h Portal occlusion culling 2021-07-14 11:43:23 +01:00