godot/servers/physics
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
..
joints Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
SCsub SCons: Format buildsystem files with psf/black 2020-06-10 15:30:52 +02:00
area_pair_sw.cpp Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
area_pair_sw.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
area_sw.cpp Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
area_sw.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
body_pair_sw.cpp Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
body_pair_sw.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
body_sw.cpp Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
body_sw.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
broad_phase_basic.cpp Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
broad_phase_basic.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
broad_phase_bvh.cpp BVH templated mask checks and generic NUM_TREES 2022-01-21 10:08:29 +00:00
broad_phase_bvh.h BVH templated mask checks and generic NUM_TREES 2022-01-21 10:08:29 +00:00
broad_phase_octree.cpp BVH templated mask checks and generic NUM_TREES 2022-01-21 10:08:29 +00:00
broad_phase_octree.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
broad_phase_sw.cpp Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
broad_phase_sw.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
collision_object_sw.cpp Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
collision_object_sw.h BVH templated mask checks and generic NUM_TREES 2022-01-21 10:08:29 +00:00
collision_solver_sat.cpp Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
collision_solver_sat.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
collision_solver_sw.cpp Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
collision_solver_sw.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
constraint_sw.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
gjk_epa.cpp Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
gjk_epa.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
joints_sw.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
physics_server_sw.cpp Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
physics_server_sw.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
shape_sw.cpp Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
shape_sw.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
space_sw.cpp BVH templated mask checks and generic NUM_TREES 2022-01-21 10:08:29 +00:00
space_sw.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
step_sw.cpp Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
step_sw.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00