Commit Graph

11324 Commits

Author SHA1 Message Date
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
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
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
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
Thaddeus Crews
696ca9db3c
Merge pull request #98039 from aaronfranke/button-icon
Rename internal Button `*_icon` functions to `*_button_icon` to match exposed methods
2024-10-29 19:25:59 -05:00
Thaddeus Crews
49cf7996e1
Merge pull request #98496 from bruvzg/icu761
Update ICU to 76.1
2024-10-29 19:25:49 -05:00
Thaddeus Crews
23f03a7cce
Merge pull request #98589 from juanjp600/openxr-no-wayland-build-fix
Fix OpenXR module failing to build on Linux when Wayland is disabled
2024-10-29 19:25:41 -05:00
Thaddeus Crews
b7a0971ad2
Merge pull request #97934 from adamscott/give-AThousandShips-a-break
[Codestyle] Set clang-format `RemoveSemicolon` rule to `true`
2024-10-29 19:25:36 -05:00
Thaddeus Crews
64b68192cc
Merge pull request #98562 from Rudolph-B/Issue-98561
Fix Occlusion Culling not working for an orthogonal camera.
2024-10-29 19:25:34 -05:00
Aaron Franke
562c666e3d
Rename internal Button icon to button_icon to match exposed methods 2024-10-29 16:23:03 -07:00
Clay John
0debc73dc6
Merge pull request #98322 from BlueCube3310/dds-layered-importer
DDS: Add support for loading layered textures
2024-10-29 15:20:54 -07:00
BlueCube3310
06195cdf2c DDS: Add support for loading layered textures 2024-10-29 20:55:22 +01:00
Juan Pablo Arce
1803fe0cd5 Fix OpenXR module failing to build on Linux when Wayland is disabled 2024-10-27 14:03:03 -03:00
Rudolph Bester
76c20383d1 Fix Occlusion Culling not working for an orthogonal camera. 2024-10-26 20:07:34 +02:00
Thaddeus Crews
61accf0605
Merge pull request #97535 from HolonProduction/gizmo-cylinder
Some checks failed
🔗 GHA / 📊 Static checks (push) Has been cancelled
🔗 GHA / 🤖 Android (push) Has been cancelled
🔗 GHA / 🍏 iOS (push) Has been cancelled
🔗 GHA / 🐧 Linux (push) Has been cancelled
🔗 GHA / 🍎 macOS (push) Has been cancelled
🔗 GHA / 🏁 Windows (push) Has been cancelled
🔗 GHA / 🌐 Web (push) Has been cancelled
🔗 GHA / 🪲 Godot CPP (push) Has been cancelled
Editor: Improve cylinder gizmos
2024-10-25 13:04:14 -05:00
Thaddeus Crews
2584f75537
Merge pull request #96499 from beev1s/shallow-script-cache-error
Fix resource loader not resolving shallow loaded scripts through dependencies
2024-10-25 13:04:09 -05:00
Thaddeus Crews
07e759b74a
Merge pull request #97771 from dsnopek/openxr-linux-egl
OpenXR: Add support for Wayland on Linux
2024-10-25 13:04:08 -05:00
Thaddeus Crews
7da6d6032b
Merge pull request #96927 from HolonProduction/completion-inner-class-base-crash
Autocompletion: Don't use owner for inner classes
2024-10-25 13:03:53 -05:00
Adam Scott
0d350e7108
Set clang-format RemoveSemicolon rule to true
- Set clang-format `Standard` rule to `c++20`
2024-10-25 13:49:43 -04:00
Danil Alexeev
4dc568856a
GDScript: Rework GDScriptUtilityFunctions macros 2024-10-25 17:46:38 +03:00
Clay John
78a4e634f0
Merge pull request #98257 from Rudolph-B/94210-B
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
Fix to occlusion culling where all math is based on Euclidean distance.
2024-10-24 21:06:56 -07:00
Clay John
b5368d5e40
Merge pull request #98356 from dustdfg/gdscript_endif_readability_comments
Add some comments to `#endif's` where it helps readability
2024-10-24 19:11:42 -07:00
Clay John
38f2144f85
Merge pull request #98400 from rune-scape/fix-typed-dict-cached-parser
GDScript: Fix cached parser error when using typed Dictionaries
2024-10-24 18:54:12 -07:00
Clay John
7ebb3a4d68
Merge pull request #98471 from dsnopek/openxr-composition-layers-visibility-bug
Fix bug with OpenXR composition layers added after OpenXR is running
2024-10-24 18:45:23 -07:00
bruvzg
e698870caa
Update ICU to 76.1 2024-10-24 22:47:59 +03:00
Thaddeus Crews
3c7fb9fe7f
Merge pull request #98169 from HolonProduction/only-highlight-exposed
GDScript: Don't highlight unexposed classes
2024-10-24 13:23:04 -05:00
Thaddeus Crews
8b6c7bf64c
Merge pull request #98163 from BastiaanOlij/openxr_flatten_bindings
OpenXR: change bindings to 'flatten' source paths
2024-10-24 13:23:03 -05:00
Thaddeus Crews
7444da766a
Merge pull request #97374 from rune-scape/get-native-static-callable
GDScriptNativeClass: Allow getting static function as callable
2024-10-24 13:23:01 -05:00
Thaddeus Crews
52bbbd4338
Merge pull request #98247 from TCROC/fix-headless-graphics-driver-and-shader-crash
Don't create rendering device or parse glsl shader in headless mode
2024-10-24 13:22:53 -05:00
Thaddeus Crews
0953d488c7
Merge pull request #98329 from beru/opt_ImageLoaderSVG__create_image_from_utf8_buffer
Optimize ImageLoaderSVG::create_image_from_utf8_buffer
2024-10-24 13:22:44 -05:00