Commit Graph

11353 Commits

Author SHA1 Message Date
Thaddeus Crews
6577ed278a
Merge pull request #97471 from kevinkuo52/debug-raycast-heightmap
[GodotPhysics] Fix raycasts don't reliably collide with HeightMapShape3D
2024-11-11 14:18:20 -06:00
Thaddeus Crews
9be806aef1
Merge pull request #92986 from Repiteo/core/ref-instantiate-integration
Core: Integrate Ref `instantiate` where possible
2024-11-11 14:18:15 -06:00
Thaddeus Crews
def34fb06e
Merge pull request #98472 from rune-scape/sort-rpc
SceneRPCInterface: Sort rpc names using `StringLikeVariantOrder`
2024-11-11 14:18:07 -06:00
Thaddeus Crews
3c1570721f
Merge pull request #94751 from RadiantUwU/patch-2
GLTF: Return the error file path when an import fails.
2024-11-11 14:18:05 -06:00
Thaddeus Crews
9502f6faf4
Merge pull request #96922 from Nodragem/moving-gridmap-panel-one-commit
Move GridMapEditor to bottom panel
2024-11-11 14:18:03 -06:00
Kiro
07b7f76896
Improve NavMeshGenerator2D::generator_bake_from_source_geometry_data performance
Avoid copies and redundant work.
2024-11-11 12:31:19 +01:00
Thaddeus Crews
925b690c98
Core: Integrate Ref::instantiate where possible 2024-11-10 12:41:26 -06:00
Thaddeus Crews
4703aab556
Merge pull request #98919 from BlueCube3310/bcdec-fix-v4
bcdec: Fix decompressing mipmaps not divisible by 4
2024-11-10 12:12:58 -06:00
Thaddeus Crews
3444611507
Merge pull request #98758 from Rudolph-B/Issue-98756
Fix Occlusion Culling Buffer occasionally getting corrupted.
2024-11-10 12:12:43 -06:00
Thaddeus Crews
511149e2a0
Merge pull request #99003 from Mickeon/documentation-interactive-music-oopsie
Fix interactive music docs saying it's "not implemented"
2024-11-10 12:12:40 -06:00
Thaddeus Crews
95780d8104
Merge pull request #98866 from smix8/navmap_allocation
Reduce allocations for NavMap synchronisation
2024-11-10 12:12:37 -06:00
Thaddeus Crews
06e876b990
Merge pull request #95762 from Mickeon/documentation-truth-and-only-the-truth
Fix many untagged `true`/`false`/`null` in the documentation
2024-11-10 12:12:22 -06:00
Thaddeus Crews
cd6dad4090
Merge pull request #98703 from pgrit/master
Set flag for 8 bone weights in GLTFDocument
2024-11-10 12:12:18 -06:00
Micky
39534e1a28 Fix interactive music docs saying it's "not implemented" 2024-11-10 11:35:08 +01:00
Micky
5c5460b026 Fix many untagged true/false/null in the documentation 2024-11-10 11:26:39 +01:00
Nodragem
7378bb6db7 Move GridMapEditor to bottom panel 2024-11-09 16:02:26 +00:00
BlueCube3310
ca7ad58236 bcdec: Fix decompresssing mipmaps not divisible by 4 2024-11-08 11:17:13 +01:00
Thaddeus Crews
3a7efc9edf
Merge pull request #98874 from aaronfranke/gltf-preserve-visibility
GLTF: Preserve node visibility on import
2024-11-07 12:36:35 -06:00
Thaddeus Crews
9b23b202ae
Merge pull request #98873 from girdenis-p/shadowed-variable-warning
Fix analyzer pushing `SHADOWED_VARIABLE` warning for members shadowed in subclass
2024-11-07 12:36:33 -06:00
Thaddeus Crews
671d6e3230
Merge pull request #98150 from hunterloftis/fix-default-import-threaded
Fix freeze on non-thread-safe custom importers
2024-11-07 12:36:20 -06:00
girdenis-p
413490c270 Fix analyzer pushing SHADOWED_VARIABLE warning for members shadowed in subclasses
This fixes a bug in the analyzer where it did not push the SHADOWED_VARIABLE_BASE_CLASS
warning for members shadowed by variable in subclass. It does this by comparing the class
which contains the shadowed member with the class containing the variable, and pushing
SHADOWED_VARIABLE only if the classes are the same. Additionally, SHADOWED_VARIABLE_BASE_CLASS
can take an extra symbol which helps to specify the line for non native base class.
2024-11-06 15:04:14 +00:00
Aaron Franke
924732772b
GLTF: Preserve node visibility on import 2024-11-05 19:06:08 -08:00
Thaddeus Crews
de48d9f794
Merge pull request #98841 from bruvzg/ts_el_load
[TextServer] Only load ellipsis glyph when it's used.
2024-11-05 18:36:17 -06:00
Thaddeus Crews
88a48d52f0
Merge pull request #98801 from zeux/my-final-form
Rewrite index optimization code for maximum efficiency
2024-11-05 18:36:13 -06:00
Thaddeus Crews
1559645112
Merge pull request #98831 from dsnopek/openxr-gdextension-pre-post-draw-viewport
OpenXR: Allow GDExtensions to implement `_on_pre_draw_viewport()` and `_on_post_draw_viewport()`
2024-11-05 18:36:12 -06:00
smix8
b840c9837a Reduce allocations for NavMap synchronisation
Improves navigation map sync performance be avoiding unnecessary memory allocations.
2024-11-05 22:10:53 +01:00
David Snopek
c72eb04adb OpenXR: Allow GDExtensions to implement _on_pre_draw_viewport() and _on_post_draw_viewport() 2024-11-05 08:16:29 -06:00
bruvzg
4daa336d92 [TextServer] Only load ellipsis glyph when it's used. 2024-11-05 11:04:48 +02:00
Thaddeus Crews
2450dee1bc
Merge pull request #93401 from Repiteo/style/clang-tidy-fixes
Style: Apply `clang-tidy` fixes
2024-11-04 21:52:05 -06:00
Thaddeus Crews
ef8aafc2df
Merge pull request #94165 from aaronfranke/gltf-khr-anim-ptr
GLTF: Implement `KHR_animation_pointer` for animating custom properties
2024-11-04 21:52:03 -06:00
Thaddeus Crews
e38068f768
Merge pull request #96778 from aaronfranke/gltf-dont-fail-import
GLTF: Don't give up loading a texture if importing it fails
2024-11-04 21:51:56 -06:00
Thaddeus Crews
6206578060
Merge pull request #90182 from Zylann/nav_map_optimizations
Optimize some parts of `NavMap::sync`
2024-11-04 21:51:52 -06:00
Aaron Franke
02d8c6eefe
GLTF: Add extract_path and extract_prefix settings
Only used by the Blender importer
2024-11-04 19:28:33 -08:00
Aaron Franke
0b7354dfa9
GLTF: Don't give up loading image if import fails 2024-11-04 19:28:18 -08:00
Aaron Franke
0513943f70
GLTF: Implement KHR_animation_pointer for animating custom properties 2024-11-04 17:55:40 -08:00
Aaron Franke
d373d207c1
GLTF: Add functions to encode and decode Variants to/from accessors 2024-11-04 17:55:40 -08:00
Aaron Franke
11576b89dd
GLTF: Implement the glTF Object Model in physics extension 2024-11-04 17:55:39 -08:00
Aaron Franke
4b66a25f52
GLTF: Implement the glTF Object Model to support JSON pointer properties 2024-11-04 17:55:39 -08:00
Aaron Franke
cd367b3da3
GLTF: Prerequisite cleanups before KHR_animation_pointer
Add get_scene_node_path and has_additional_data to GLTFNode, remove center of mass ignore warning in physics (it's supported now), rename `d` to `mesh_dict` in mesh import code.
2024-11-04 17:55:39 -08:00
Aaron Franke
834189a618
GLTF: Clean up animation code to make way for KHR_animation_pointer 2024-11-04 17:55:38 -08:00
Aaron Franke
c7391d2ee3
GLTF: Add more accessor component types 2024-11-04 17:55:38 -08:00
Aaron Franke
4b0085ac85
GLTF: Move the component type enum into GLTFAccessor 2024-11-04 17:55:37 -08:00
Thaddeus Crews
bb5f390fb9
Style: Apply clang-tidy fixes (superficial)
• `modernize-use-bool-literals`, `modernize-use-nullptr`, and `readability-braces-around-statements`
2024-11-04 12:11:14 -06:00
Thaddeus Crews
89a311205f
Style: Apply clang-tidy fixes
• `modernize-use-default-member-init` and `readability-redundant-member-init`
• Minor adjustments to `.clang-tidy` to improve syntax & remove redundancies
2024-11-04 12:11:06 -06:00
Arseny Kapoulkine
260287b3a1 Rewrite index optimization code for maximum efficiency
While all the previous fixes to optimizeVertexCache invocation fixed the
vertex transform efficiency, the import code still was missing two
crucial recommendations from meshoptimizer documentation:

- All meshes should be optimized for vertex cache (this reorders
  vertices for maximum fetch efficiency)
- When LODs are used with a shared vertex buffer, the vertex order
  should be generated by doing a vertex fetch optimization on the
  concatenated index buffer from coarse to fine LODs; this maximizes
  fetch efficiency for coarse LODs

The last point is especially crucial for Mali GPUs; unlike other GPUs
where vertex order affects fetch efficiency but not shading, these GPUs
have various shading quirks (depending on the GPU generation) that
really require consecutive index ranges for each LOD, which requires the
second optimization mentioned above. However all of these also help
desktop GPUs and other mobile GPUs as well.

Because this optimization is "global" in the sense that it affects all
LODs and all vertex arrays in concert, I've taken this opportunity to
isolate all optimization code in this function and pull it out of
generate_lods and create_shadow_mesh; this doesn't change the vertex
cache efficiency, but makes the code cleaner. Consequently,
optimize_indices should be called after other functions like
create_shadow_mesh / generate_lods.

This required exposing meshopt_optimizeVertexFetchRemap; as a drive-by,
meshopt_simplifySloppy was never used so it's not exposed anymore - this
will simplify future meshopt upgrades if they end up changing the
function's interface.
2024-11-04 06:58:06 -08:00
Rudolph Bester
0f0e24016c Fix Occlusion Culling Buffer getting corrupted. 2024-11-02 12:52:19 +02:00
Thaddeus Crews
363c0b5fec
Merge pull request #47502 from KoBeWi/add_0
Always add decimal when converting float to string
2024-10-31 20:14:39 -05:00
Pascal Grittmann
a59fb07e4a set flag for 8 bone weights 2024-10-31 17:04:31 +01:00
Radiant
5b0bf9e2b0 Return the actual error when an import fails. 2024-10-30 23:42:10 +02:00
Thaddeus Crews
8004c7524f
Merge pull request #98301 from aaronp64/gdscript_validate_property
Some checks are pending
🔗 GHA / 📊 Static checks (push) Waiting to run
🔗 GHA / 🤖 Android (push) Blocked by required conditions
🔗 GHA / 🍏 iOS (push) Blocked by required conditions
🔗 GHA / 🐧 Linux (push) Blocked by required conditions
🔗 GHA / 🍎 macOS (push) Blocked by required conditions
🔗 GHA / 🏁 Windows (push) Blocked by required conditions
🔗 GHA / 🌐 Web (push) Blocked by required conditions
🔗 GHA / 🪲 Godot CPP (push) Blocked by required conditions
Avoid unnecessary `Dictionary` conversions in `GDScriptInstance::validate_property`
2024-10-29 19:26:02 -05:00