godot/servers/physics_2d
lawnjelly dc14636e68 BVH templated mask checks and generic NUM_TREES
Refactors the BVH to make it more generic and customizable. Instead of hard coding the system of pairable_mask and pairable_type into the BVH, this information is no longer stored internally, and instead the BVH uses callbacks both for determining whether pairs of objects can pair with each other, and for filtering cull / intersection tests.

In addition, instead of hard coding the number of trees, the BVH now supports up to 32 trees, and each object can supply a tree collision mask to determine which trees it can collide against.

This enables the BVH to scale to either the two or 3 trees needed in physics, and the single tree used without pairing in Godot 4 render tree.
2022-01-21 10:08:29 +00:00
..
SCsub
area_2d_sw.cpp
area_2d_sw.h
area_pair_2d_sw.cpp
area_pair_2d_sw.h
body_2d_sw.cpp
body_2d_sw.h
body_pair_2d_sw.cpp
body_pair_2d_sw.h
broad_phase_2d_basic.cpp
broad_phase_2d_basic.h
broad_phase_2d_bvh.cpp BVH templated mask checks and generic NUM_TREES 2022-01-21 10:08:29 +00:00
broad_phase_2d_bvh.h BVH templated mask checks and generic NUM_TREES 2022-01-21 10:08:29 +00:00
broad_phase_2d_hash_grid.cpp
broad_phase_2d_hash_grid.h
broad_phase_2d_sw.cpp
broad_phase_2d_sw.h
collision_object_2d_sw.cpp
collision_object_2d_sw.h BVH templated mask checks and generic NUM_TREES 2022-01-21 10:08:29 +00:00
collision_solver_2d_sat.cpp
collision_solver_2d_sat.h
collision_solver_2d_sw.cpp
collision_solver_2d_sw.h
constraint_2d_sw.h
joints_2d_sw.cpp
joints_2d_sw.h
physics_2d_server_sw.cpp
physics_2d_server_sw.h
physics_2d_server_wrap_mt.cpp
physics_2d_server_wrap_mt.h
shape_2d_sw.cpp
shape_2d_sw.h
space_2d_sw.cpp BVH templated mask checks and generic NUM_TREES 2022-01-21 10:08:29 +00:00
space_2d_sw.h
step_2d_sw.cpp
step_2d_sw.h