godot/core
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
..
bind Add OS.has_clipboard() to check clipboard content 2022-01-19 20:19:06 +08:00
crypto Bump mbedTLS version to 2.28.0 (new LTS). 2022-01-19 14:03:03 +01:00
io Merge pull request #56630 from Pineapple/replace-find-last 2022-01-18 16:36:52 +01:00
math BVH templated mask checks and generic NUM_TREES 2022-01-21 10:08:29 +00:00
os Add OS.has_clipboard() to check clipboard content 2022-01-19 20:19:06 +08:00
array.cpp Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
array.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
bitfield_dynamic.cpp Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
bitfield_dynamic.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
class_db.cpp Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
class_db.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
color_names.inc Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
color.cpp Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
color.h Add nodiscard to core math classes to catch c++ errors. 2022-01-20 17:28:31 +00:00
command_queue_mt.cpp Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
command_queue_mt.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
compressed_translation.cpp Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
compressed_translation.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
core_builders.py SCons: Generate header with info on which modules are enabled 2021-07-14 23:09:47 +02:00
core_string_names.cpp Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
core_string_names.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
cowdata.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
dictionary.cpp Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
dictionary.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
engine.cpp Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
engine.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
error_list.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
error_macros.cpp Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
error_macros.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
func_ref.cpp Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
func_ref.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
global_constants.cpp Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
global_constants.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
hash_map.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
hashfuncs.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
image.cpp Expose Image.COMPRESS_SOURCE_LAYERED to scripting 2022-01-17 20:43:05 +08:00
image.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
input_map.cpp Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
input_map.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
int_types.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
list.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
local_vector.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
make_binders.py SCons: Format buildsystem files with psf/black 2020-06-10 15:30:52 +02:00
map.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
message_queue.cpp Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
message_queue.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
method_bind.cpp Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
method_bind.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
method_ptrcall.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
node_path.cpp Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
node_path.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
oa_hash_map.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
object_id.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
object_rc.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
object.cpp Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
object.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
ordered_hash_map.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
packed_data_container.cpp Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
packed_data_container.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
paged_allocator.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
pair.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
path_remap.cpp Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
path_remap.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
pool_allocator.cpp Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
pool_allocator.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
pool_vector.cpp Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
pool_vector.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
pooled_list.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
print_string.cpp Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
print_string.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
project_settings.cpp Merge pull request #56630 from Pineapple/replace-find-last 2022-01-18 16:36:52 +01:00
project_settings.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
ref_ptr.cpp Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
ref_ptr.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
reference.cpp Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
reference.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
register_core_types.cpp Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
register_core_types.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
resource.cpp Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
resource.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
rid_handle.cpp Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
rid_handle.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
rid.cpp Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
rid.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
ring_buffer.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
safe_refcount.cpp Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
safe_refcount.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
script_debugger_local.cpp Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
script_debugger_local.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
script_language.cpp Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
script_language.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
SCsub SCons: List .gen.cpp sources explicitly to avoid globbing errors 2021-10-16 10:59:14 +02:00
self_list.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
set.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
simple_type.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
sort_array.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
string_buffer.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
string_builder.cpp Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
string_builder.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
string_name.cpp Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
string_name.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
threaded_callable_queue.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
translation.cpp Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
translation.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
type_info.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
typedefs.h Add nodiscard to core math classes to catch c++ errors. 2022-01-20 17:28:31 +00:00
ucaps.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
undo_redo.cpp Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
undo_redo.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
ustring.cpp Merge pull request #56630 from Pineapple/replace-find-last 2022-01-18 16:36:52 +01:00
ustring.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
variant_call.cpp Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
variant_op.cpp Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
variant_parser.cpp Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
variant_parser.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
variant.cpp Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
variant.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
vector.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
version.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
vmap.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00
vset.h Update copyright statements to 2022 2022-01-13 15:54:13 +01:00