godot/core
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
..
bind Save all 64 bits of get_ticks_msec() in more cases 2021-10-26 18:23:31 +02:00
crypto [Crypto] Delete mbedtls ctx in deconstructor. 2021-07-06 11:10:47 +02:00
io clang-format: Various fixes to comments alignment from `clang-format` 13 2021-10-28 14:50:32 +02:00
math BVH - add option for expanded AABBs in leaves 2021-11-25 23:13:14 +01:00
os clang-format: Disable alignment of operands, too unreliable 2021-10-28 13:23:38 +02:00
SCsub SCons: List `.gen.cpp` sources explicitly to avoid globbing errors 2021-10-16 10:59:14 +02:00
array.cpp Add an `Array.pop_at()` method to pop an element at an arbitrary index 2021-08-27 01:27:07 +02:00
array.h Add an `Array.pop_at()` method to pop an element at an arbitrary index 2021-08-27 01:27:07 +02:00
bitfield_dynamic.cpp Portal occlusion culling 2021-07-14 11:43:23 +01:00
bitfield_dynamic.h Portal occlusion culling 2021-07-14 11:43:23 +01:00
class_db.cpp Improve error message when instantiating virtual class 2021-10-06 09:29:31 +02:00
class_db.h Expose enum related methods in ClassDB 2021-09-11 20:33:29 +08:00
color.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
color.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
color_names.inc Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
command_queue_mt.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
command_queue_mt.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
compressed_translation.cpp Remove unused variables 2021-10-18 18:51:05 +01:00
compressed_translation.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02: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 Style: Replaces uses of 0/NULL by nullptr (C++11) 2021-05-04 16:30:23 +02:00
core_string_names.h Style: Replaces uses of 0/NULL by nullptr (C++11) 2021-05-04 16:30:23 +02:00
cowdata.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
dictionary.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
dictionary.h Style: Replaces uses of 0/NULL by nullptr (C++11) 2021-05-04 16:30:23 +02:00
engine.cpp Fix character encoding of Engine::get_copyright_info 2021-10-15 12:51:42 +02:00
engine.h Sphere occluders (portals and general use) 2021-08-17 09:02:06 +01:00
error_list.h Update copyright statements to 2021 2021-01-13 16:17:06 +01:00
error_macros.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
error_macros.h Merge pull request #53393 from lawnjelly/dev_asserts 2021-10-05 11:25:24 +02:00
func_ref.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
func_ref.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
global_constants.cpp Ignore OS specific values (constants, project settings, properties) 2021-10-10 23:40:32 +03:00
global_constants.h Ignore OS specific values (constants, project settings, properties) 2021-10-10 23:40:32 +03:00
hash_map.h clang-format: Various fixes to comments alignment from `clang-format` 13 2021-10-28 14:50:32 +02:00
hashfuncs.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
image.cpp Fixes 50428, added missing checks for image lock 2021-07-14 21:49:23 +05:30
image.h clang-format: Various fixes to comments alignment from `clang-format` 13 2021-10-28 14:50:32 +02:00
input_map.cpp Adding InputMap action error suggestion for Input singleton 2021-09-21 17:14:58 +02:00
input_map.h clang-format: Various fixes to comments alignment from `clang-format` 13 2021-10-28 14:50:32 +02:00
int_types.h Update copyright statements to 2021 2021-01-13 16:17:06 +01:00
list.h clang-format: Various fixes to comments alignment from `clang-format` 13 2021-10-28 14:50:32 +02:00
local_vector.h Fix LocalVector crash on insert. 2021-09-14 13:41:26 +02:00
make_binders.py SCons: Format buildsystem files with psf/black 2020-06-10 15:30:52 +02:00
map.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
message_queue.cpp Remove duplicate ERR_PRINTS macro 2021-06-16 11:56:25 +01:00
message_queue.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
method_bind.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
method_bind.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
method_ptrcall.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
node_path.cpp Optimize NodePath update when renaming or deleting nodes in the editor 2021-07-09 11:43:05 -07:00
node_path.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
oa_hash_map.h Style: Enforce use of bool literals instead of integers 2021-05-04 16:39:13 +02:00
object.cpp clang-format: Disable alignment of operands, too unreliable 2021-10-28 13:23:38 +02:00
object.h CI: Update to clang-format 13 using LLVM repo 2021-10-28 17:30:52 +02:00
object_id.h Update copyright statements to 2021 2021-01-13 16:17:06 +01:00
object_rc.h Promote object validity checks to release builds 2021-09-21 10:39:04 +02:00
ordered_hash_map.h Style: Replaces uses of 0/NULL by nullptr (C++11) 2021-05-04 16:30:23 +02:00
packed_data_container.cpp Merge pull request #48355 from MaxStgs/3.x 2021-05-05 15:22:40 +02:00
packed_data_container.h Style: Replaces uses of 0/NULL by nullptr (C++11) 2021-05-04 16:30:23 +02:00
paged_allocator.h Replace QuickHull with Bullet's convex hull computer. 2021-05-22 08:16:43 +02:00
pair.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
path_remap.cpp Update copyright statements to 2021 2021-01-13 16:17:06 +01:00
path_remap.h Update copyright statements to 2021 2021-01-13 16:17:06 +01:00
pool_allocator.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
pool_allocator.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
pool_vector.cpp Style: Replaces uses of 0/NULL by nullptr (C++11) 2021-05-04 16:30:23 +02:00
pool_vector.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
pooled_list.h Sphere occluders (portals and general use) 2021-08-17 09:02:06 +01:00
print_string.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
print_string.h Style: Replaces uses of 0/NULL by nullptr (C++11) 2021-05-04 16:30:23 +02:00
project_settings.cpp Restrict the project data directory configuration. 2021-10-13 13:56:01 -07:00
project_settings.h Restrict the project data directory configuration. 2021-10-13 13:56:01 -07:00
ref_ptr.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
ref_ptr.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
reference.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
reference.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
register_core_types.cpp Backport HMac crypto to 3.x 2021-05-20 13:29:38 +03:00
register_core_types.h Update copyright statements to 2021 2021-01-13 16:17:06 +01:00
resource.cpp OS: Fix used resource debug prints 2021-08-06 13:24:02 +02:00
resource.h Resource: Remove unused `_use_builtin_script()` virtual method 2021-08-12 16:45:48 +02:00
rid.cpp Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
rid.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
ring_buffer.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
safe_refcount.cpp Improve robustness of atomics 2021-02-19 11:48:30 +01:00
safe_refcount.h Style: Set clang-format Standard to c++14 2021-05-04 14:45:15 +02:00
script_debugger_local.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
script_debugger_local.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
script_language.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
script_language.h Add Script::inherits_script() 2021-08-02 15:18:30 +02:00
self_list.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
set.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
simple_type.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
sort_array.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
string_buffer.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
string_builder.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
string_builder.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
string_name.cpp Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
string_name.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
translation.cpp i18n: Add support for translating the class reference 2021-10-07 12:48:23 +02:00
translation.h i18n: Add support for translating the class reference 2021-10-07 12:48:23 +02:00
type_info.h clang-format: Disable alignment of operands, too unreliable 2021-10-28 13:23:38 +02:00
typedefs.h SCons: Set `DEBUG_ENABLED` and `DEV_ENABLED` in SConstruct 2021-10-15 12:54:16 +02:00
ucaps.h Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
undo_redo.cpp Save all 64 bits of get_ticks_msec() in more cases 2021-10-26 18:23:31 +02:00
undo_redo.h Improve Undo/Redo menu items 2021-08-18 00:46:51 +08:00
ustring.cpp clang-format: Various fixes to comments alignment from `clang-format` 13 2021-10-28 14:50:32 +02:00
ustring.h i18n: Add support for translating the class reference 2021-10-07 12:48:23 +02:00
variant.cpp clang-format: Disable alignment of operands, too unreliable 2021-10-28 13:23:38 +02:00
variant.h Promote object validity checks to release builds 2021-09-21 10:39:04 +02:00
variant_call.cpp fix crash in Variant::get_method_default_arguments when wrong type is passed 2021-09-28 19:57:45 +09:00
variant_op.cpp Promote object validity checks to release builds 2021-09-21 10:39:04 +02:00
variant_parser.cpp NaN, INF read/write bug fixed 2021-10-05 13:28:39 -04:00
variant_parser.h VariantParser: Fix uninitialized ResourceParser funcs 2021-08-03 09:33:25 +02:00
vector.h clang-format: Various fixes to comments alignment from `clang-format` 13 2021-10-28 14:50:32 +02:00
version.h Update copyright statements to 2021 2021-01-13 16:17:06 +01:00
vmap.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00
vset.h Style: Enforce braces around if blocks and loops 2021-05-05 15:02:01 +02:00