1
0
Fork 0
Commit Graph

68696 Commits

Author SHA1 Message Date
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
Pedro J. Estébanez fe21913ee8 ResourceLoader: Report error if resource type unrecognized
Co-authored-by: Summersay415 <summersay415@gmail.com>
2024-11-04 09:49:37 +01:00
bruvzg 2d66988f99
[GDExtension] Improve macOS library loading/export. 2024-11-04 09:28:30 +02:00
kobewi 025976dc45 Improve EditorToaster code 2024-11-03 14:16:22 +01:00
arkology d000d3b101 Document Timer autostart in tool scripts 2024-11-03 11:08:19 +03:00
A Thousand Ships 5085c1f530
Add missing checks for non-3D builds in scene debugger 2024-11-02 23:21:27 +01:00
EnlightenedOne 1d141ab32a Fix Frustum Sky projection translation logic, all pipelines, fixes 63863 2024-11-02 21:34:55 +00:00
Clay John 1bffd6c73b
Merge pull request #98736 from YeldhamDev/i_love_introducing_regressions
Compile certain `CanvasItem._edit_*()` functions with `DEBUG_ENABLED`
2024-11-02 13:59:31 -07:00
Yevhen Babiichuk (DustDFG) 81a032337c Deleted stale check. Now SCons supports globbing with `#` inside path
Some parts of the buildsystem already were using it with `#` in path

Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
2024-11-02 22:20:17 +02:00
Stuart Carnie dd8582a319
smol-v: update to 2024 to support SPIR-V 1.6 2024-11-03 07:14:16 +11:00
Danni 3d132076b2 Add collision priority property to TileSet physics layers 2024-11-02 15:37:49 -04:00
Michael Alexsander 58e79bfa9a
Compile certain `CanvasItem._edit_*()` functions with `DEBUG_ENABLED` 2024-11-02 15:43:18 -03:00
Rudolph Bester 0f0e24016c Fix Occlusion Culling Buffer getting corrupted. 2024-11-02 12:52:19 +02:00
tetrapod00 ba30a8707a Docs: Fix AABB is_finite() and is_equal_approx() 2024-11-01 18:04:16 -07:00
yahkr 4d41b455ba [Editor] Fix EditorSettings.xml docs for "ask_before_revoking_unique_name" 2024-11-01 19:31:07 -04:00
tetrapod00 6454ea4606 Add quad mesh to material preview 2024-11-01 14:20:10 -07:00
Dario 5216ef5f9c Add dependency detection improvements to the render graph.
- Buffers changing their usage are no longer treated as write usage unless the API requires it.
- Draw lists are not treated as being dependent on each other if their regions do not intersect despite both being write commands.
- Particles were tweaked to use different unused buffers to reduce dependencies.
2024-11-01 09:46:52 -03:00
nikitalita 08db8edbff fix save to wav 2024-11-01 06:11:28 -05:00
Anish Mishra 7b866f302f [Android] Implement support for accent color retrieval 2024-11-01 16:19:09 +05:30
Haoyu Qiu b131476d40 Disable auto translate of FileDialog's file list 2024-11-01 12:41:56 +08:00
Thaddeus Crews c6c464cf9a
Merge pull request #98679 from Bromeon/qol/rename-static-call
Rename `ClassDB::class_call_static_method` -> `class_call_static`
2024-10-31 20:14:44 -05:00
Thaddeus Crews 980df1f688
Merge pull request #98261 from dustdfg/scu_additional_folders
Add some folders which would benefit from scu to scu pipeline
2024-10-31 20:14:43 -05:00
Thaddeus Crews 0315f31378
Merge pull request #98327 from clayjohn/revert-shader-float
Revert "Fix GPUParticles are not rendered for older AMD GPUs with OpenGL+Angle"
2024-10-31 20:14:42 -05:00
Thaddeus Crews be70c2f873
Merge pull request #98350 from syntaxerror247/android-native-filepicker
[Android] Implement native file picker support
2024-10-31 20:14:41 -05:00
Thaddeus Crews 49c22e06d0
Merge pull request #98637 from SubmergedTree/creating-light-occluder-2d-polygon-makes-warning-exclamation-mark-disappear
Clear warning in the scene tree by creating an LightOccluder2D polygon
2024-10-31 20:14:40 -05: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 7982030b25
Merge pull request #69197 from aaronfranke/fix-tiny-convex
Fix debug line drawing with tiny convex hull mesh colliders
2024-10-31 20:14:37 -05:00
Thaddeus Crews 163bf94d04
Merge pull request #98091 from AThousandShips/improve_err_prints_core
[Core] Improve error messages with `vformat`
2024-10-31 20:14:36 -05:00
Thaddeus Crews 6ca36277ab
Merge pull request #98697 from dustdfg/deduplicate_get_build_version
Remove duplicate of `get_build_version`
2024-10-31 20:14:35 -05:00
Thaddeus Crews 194ddfd0c4
Merge pull request #97257 from YeldhamDev/guess_godot_is_unity_after_all
Add "Game" editor for better runtime debugging
2024-10-31 20:14:34 -05:00
Thaddeus Crews e84fae43be
Merge pull request #98662 from KoBeWi/never_has_been
Remove unused FILE_INFO from FileSystem dock
2024-10-31 20:14:33 -05:00
Hugo Locurcio 416e1a538f
Improve Mesh UV1/UV2 preview in the editor
- Use an AspectRatioContainer to prevent stretching that occurs depending
  on the dialog size.
- Draw UV bounds and a grid at 1/8th increments.
- Scale lines according to editor scale for better visibility on hiDPI displays.
2024-11-01 02:04:10 +01:00
Matias N. Goldberg b9a2f108fc Fix splash screen upside down on Android
Fixes an issue introduced in #96439 (see
https://github.com/godotengine/godot/pull/96439#issuecomment-2447288702)

Godot was relying on Java's
activity.getWindowManager().getDefaultDisplay().getRotation(); to apply
pre-rotation but this is wrong.

First, getRotation() may temporarily return a different value from the
correct one; which is what was causing the splash screen to be upside
down. It would return -90 instead of 90 for the first rendered frame.

But unfortunately, the splash screen is just one frame rendered for a
very long time, so the error lingered for a long time for everyone to
see.

Second, to determine what rotation to use, we should be looking at what
Vulkan told us, which is the value we pass to
VkSurfaceTransformFlagBitsKHR::preTransform.

This commit removes the now-unnecessary
screen_get_internal_current_rotation() function (which was introduced by
#96439) and now saves the preTransform value in the swapchain.
2024-10-31 16:52:26 -03:00
Pascal Grittmann a59fb07e4a set flag for 8 bone weights 2024-10-31 17:04:31 +01:00
Max Hilbrunner 8c5debeaed Allow multiple platform API files 2024-10-31 16:07:01 +01:00
Yevhen Babiichuk (DustDFG) 0ba0093dd6 Remove duplicate of get_build_version
Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
2024-10-31 12:54:23 +02:00
Yuri Rubinsky ef8d981267
Merge pull request #98303 from Chaosus/vs_transparency_preview
Add alpha channel display to vec4 previews of visual shader nodes
2024-10-31 11:17:34 +03:00
Clay John 7187c251da
Merge pull request #98620 from zeux/lodgen-cleanup
LOD: Remove "Raycast Normals" and associated "Normal Split Angle" settings
2024-10-30 17:13:57 -07:00
Clay John a997001bd5
Merge pull request #98584 from Nazarwadim/emit_only_one_signal
Emit `filesystem_changed` only once per frame
2024-10-30 14:47:15 -07:00
Yevhen Babiichuk (DustDFG) 8eeee920f2 Add some big folders which would benefit from scu to scu pipeline
Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
2024-10-30 22:49:39 +02:00
Jan Haller a025ceddc0 Rename ClassDB::class_call_static_method -> class_call_static 2024-10-30 19:07:28 +01:00
maxime.chambefort 6f846eb5c5 Added external camera feed from external plugin on Android 2024-10-30 18:30:28 +01:00
A Thousand Ships 38f9769bc6
[Core] Improve error messages with `vformat` 2024-10-30 15:55:51 +01:00
Michael Alexsander 16524a8a01
Add "Game" editor for better runtime debugging 2024-10-30 11:42:17 -03:00
Anish Mishra b2130efb31 [Android] Implement native file picker support 2024-10-30 14:53:02 +05:30
Anish Mishra 0dfd18c84b [DisplayServer] Add feature flag for native file dialog access to `user/res` and `options` 2024-10-30 14:13:43 +05:30
Aaron Franke 96ec117d19
Fix debug line drawing with tiny convex hull mesh colliders 2024-10-30 00:47:56 -07:00
clayjohn 940e9c2a43 Revert "Fix GPUParticles are not rendered for older AMD GPUs with OpenGL+Angle"
This reverts commit 9cc9df52eb.

This also adds a fallback to avoid using the Godot versions of the half 2 float functions when using ANGLE.
2024-10-29 22:17:16 -07:00
kobewi f96ef5fc0d Remove unused FILE_INFO from FileSystem dock 2024-10-30 06:08:52 +01:00
Thaddeus Crews 8004c7524f
Merge pull request #98301 from aaronp64/gdscript_validate_property
Avoid unnecessary `Dictionary` conversions in `GDScriptInstance::validate_property`
2024-10-29 19:26:02 -05:00