Commit Graph

66182 Commits

Author SHA1 Message Date
497570b1cf Fix typo in Array code example
(cherry picked from commit b516742358)
2024-09-16 17:14:51 +02:00
70a8761deb Fix crash when calling OpenXRAPI::get_hand_tracker() and hand-tracking is disabled
(cherry picked from commit 11dd1f52ae)
2024-09-16 17:14:35 +02:00
19bed8fee7 Fix Vector3 Slerp Normalizing Zero Vectors
Ported the existing zero length check in C++ into C#.

(cherry picked from commit 0d6e9de0b9)
2024-09-16 17:14:24 +02:00
7874dad279 Minor AnimationNodeBlendSpace2D documentation fixes
Updated a couple parts that seemed to be copied over from AnimationNodeBlendSpace1D

(cherry picked from commit 05bcfda784)
2024-09-16 17:12:52 +02:00
05860062a5 Fix curve2d incorrect sample range description
(cherry picked from commit 5183588499)
2024-09-16 17:12:40 +02:00
8496e0738f Fix drag&drop between window on Windows
(cherry picked from commit 0987a9dc06)
2024-09-16 17:12:26 +02:00
20ce427a6c Remember "View Grid" (per-viewport) setting between editor sessions
(cherry picked from commit 080acd7246)
2024-09-16 17:11:42 +02:00
40dcdcbe79 Fix double free in FSR2 destructor
Before this change, using FSR2 resulted in the following error when the
effect was destroyed:

	ERROR: Attempted to free invalid ID: 662734928609453
	   at: _free_internal (servers/rendering/rendering_device.cpp:4957)

This happened because ACCUMULATE and ACCUMULATE_SHARPEN passes shared
the same shader_version object but had different pipeline IDs. When
version_free was called for ACCUMULATE pass, it destroyed pipelines
created from that version, including the pipeline for the
ACCUMULATE_SHARPEN pass.

Using a unique version could work around this problem, but it's easier
to rely on version_free destroying the created pipelines through the
dependency mechanism.

(cherry picked from commit 0024cface5)
2024-09-16 17:10:59 +02:00
b2c83b42f6 Relax motion vector updates to allow skipped frames for skeletons
Before this change, a skeleton that was not updated every frame would
result in a difference of 2+ between last_change and frame index every
frame, which would disable the buffer rotation and set motion vectors to
zero. This results in significant visual artifacts for FSR2 that are
especially prominent on the characters that move together with the view
such as the main character in third person mode.

This is a significant problem for high refresh rate displays: at 120 Hz,
we are effectively guaranteed to skip skeleton updates every other frame
with skeleton update happening during physics processing, and the lack
of physics interpolation for skeletons. This happens by default in TPS
demo when FSR2 is enabled.

In other places where motion vectors are disabled, such as multi-mesh
and mesh rendering (where previous transform is updated), the logic
effectively allows for a single-frame gap in updates, because it
compares the frame where the update happened (which is the current frame
if updates are consistent) with the current frame, so the latency of 0
means "update just happened", but both multi-mesh and mesh transform
updates permit a latency of 1 as well.

Here, however, last_change is updated *after* the frame processing has
concluded, so a zero-latency update has a distance of 1. Allowing a
distance of 2 (latency 1) reduces the severity of the problem and aligns
the logic with transform updates.

Note that the problem will still happen when refresh rate is noticeably
higher than physics rate times 2. For example, it still happens at 240
Hz. However, a longer latency allowance is inconsistent with other
transforms and could lead to issues, so ideally long term physical
interpolation of skeleton transforms would completely solve this.

(cherry picked from commit 92f2bc70dd)
2024-09-16 17:10:47 +02:00
cf40a5bc5a Fix huge tscn icon in FileSystem split mode using list view
(cherry picked from commit 36c9d31a9e)
2024-09-16 17:10:34 +02:00
1ecf20c783 Fix errors about UndoRedo history mismatch when deleting bezier track
(cherry picked from commit 4db3e6e6cd)
2024-09-16 17:10:19 +02:00
b05470efd0 Fix display dialog while saving scene
(cherry picked from commit da31679d12)
2024-09-16 17:10:04 +02:00
433509b489 Fix small graph editor pins at higher display scales
(cherry picked from commit 3f7efd2291)
2024-09-16 17:09:50 +02:00
139f5ee15e Add model_normal_matrix for fragment shader
(cherry picked from commit e698351db2)
2024-09-16 17:09:36 +02:00
bd552ff609 Fallback to theme icon when no custom icon is set in autocompletion
(cherry picked from commit e8254dc3f4)
2024-09-16 17:09:23 +02:00
ecbb9a9c6a Fix GLES3 crash with Mesh surface with exactly 65536 vertices
Fixes #95837.

(cherry picked from commit bde165ccb3)
2024-09-16 17:09:12 +02:00
d0c4f19dd2 Fix gizmos without visible geometry not being selectable
The issue was that Node3DEditorViewport was using the render server's BVH to filter out nodes,
which is not correct for gizmos that have no renderable components,
or have collision triangles that exceed the bounds of their renderable components.

(cherry picked from commit 45f6110e26)
2024-09-16 17:08:59 +02:00
df6bbb2538 Fix MenuBar popup placement assuming it's in viewport default canvas
(cherry picked from commit 8228d647a9)
2024-09-16 17:08:44 +02:00
1d0bcae019 GLTF: Propagate owner for root node children
(cherry picked from commit 246cc7e86d)
2024-09-16 17:08:33 +02:00
df522db6f0 Fix virtual binding for ScriptLanguageExtension::_reload_scripts
(cherry picked from commit d65ea6fb9c)
2024-09-16 17:06:44 +02:00
c684d65c64 Use transformed roughness instead of raw roughness to calculate roughness fade in SSR
(cherry picked from commit b99d0d778a)
2024-09-16 17:06:30 +02:00
5676d398e0 Avoid potential crash on signal disconnection
(cherry picked from commit 32b7f835d8)
2024-09-16 17:06:19 +02:00
32f2b851ab Redraw SubViewportContainer on SubViewport size change
(cherry picked from commit 61e2aa7914)
2024-09-16 17:06:04 +02:00
bf5907b724 StringName: Use inline static field definitions
Before this change StringName used regular static field
definitions for its mutex, _table, configured and debug_stringname
fields.

Since in the general case the ordering of the static variable and field
initialization and destruction is undefined, it was possible that
the destruction of StringName's static fields happened prior to
the destruction of statically allocated StringName instances.

By changing the static field definitions to inline in string_name.h,
the C++17 standard guarantees the correct initialization and destruction
ordering.

(cherry picked from commit 723878bbab)
2024-09-16 17:05:50 +02:00
cff0ebd603 Clear drag preview material on NOTIFICATION_DRAG_END
(cherry picked from commit 6aee6c1fdd)
2024-09-16 17:05:37 +02:00
9af6e04a15 Fix backspace always unfolding previous line
(cherry picked from commit 2860b99077)
2024-09-16 17:05:16 +02:00
39fb871310 Fix no validation on Blender path on importation
(cherry picked from commit 2dc9cf50c5)
2024-09-16 17:05:03 +02:00
eaa8ecb182 Fix bone2d scaling
Co-authored-by: Thiago Lages de Alencar <thiagola92@gmail.com>
(cherry picked from commit de558123bf)
2024-09-16 17:04:49 +02:00
c7dbcbd6d4 Fix Skeleton2D.{_set|_get} always returning true
(cherry picked from commit 115cd47fd6)
2024-09-16 17:04:28 +02:00
f0f69a7b7c Fix Parallax2D repeats being not relative to its transform
(cherry picked from commit 1bd8372813)
2024-09-16 17:04:12 +02:00
4168220169 Fix EditorInterface.get_selected_paths() working incorrectly when FileSystemDock is in split mode
(cherry picked from commit b55e97cd85)
2024-09-16 17:03:50 +02:00
d8c13f88ed Fix scene node selection problem when no auto expand
(cherry picked from commit e46280dbb5)
2024-09-16 17:03:02 +02:00
7266418bdf Fix node.duplicate, return nullptr if this operation fails.
(cherry picked from commit 70f41e414e)
2024-09-16 17:02:35 +02:00
b7fc063038 Fix uid:// Paths Fail to Load at Editor Startup
(cherry picked from commit b1c97313e0)
2024-09-16 17:02:12 +02:00
6c202154a7 Add fixed fog to the sky in the Compatibility renderer
And apply luminance multiplier after fog in RD renderer

(cherry picked from commit 578049b7b9)
2024-09-16 17:01:45 +02:00
6d41487459 OpenXR: Fix support for building against distro package
(cherry picked from commit 2206f5c6a4)
2024-09-16 17:01:18 +02:00
3876287162 Ensure selected node is a descendant of the edited scene
(cherry picked from commit b1a45d9487)
2024-09-16 17:00:54 +02:00
8ea64814ed Add stop_callable to AudioStreamPlayerInternal
(cherry picked from commit 8c7dd3cb61)
2024-09-16 17:00:18 +02:00
6b323241b1 prevent the click to get processed further after a paste action
(cherry picked from commit e7e633760a)
2024-09-16 16:57:44 +02:00
2d7266e764 Ensure fog_sky_affect is used even when using a background color
(cherry picked from commit 37be585fdf)
2024-09-16 16:57:44 +02:00
7726ced085 fix: project settings not properly saved after a file removal
(cherry picked from commit 138bcc7cfd)
2024-09-16 16:56:22 +02:00
bba8f85945 Fix Pressing Escape doesn't exit freelook in the 3D editor
(cherry picked from commit 78dc310103)
2024-09-16 16:56:10 +02:00
63ff665fd0 Fix GD0107 not applying to arrays and dictionaries containing nodes
(cherry picked from commit 8aa444d212)
2024-09-16 16:55:57 +02:00
6e78eec37f Fix reload of GDExtension libraries in framework package on macos
`GDExtension::open_library` has a check in it to see if the library was loaded
from a temp file, and if it was to restore the original name as that is the one
we actually care about. This check is breaking extension reloading on Mac when
the library path is to a framework folder, as the file inside the framework
will not generally be the same name as the folder.

This check also shouldn't be necessary even on Windows, which is the only
platform that uses `generate_temp_files`, since disposal of the created temp
file is handled within `OS_Windows::open_dynamic_library`, and
`GDExtension::open_library` (which is the only function to call
`open_dynamic_library` with a `p_data` argument) only cares about the original
library file path and has to do extra work to remove the name of the temp file.
Instead, I have removed that check and set `OS_Windows::open_dynamic_library`
to return the name of the original file and not the name of the copy.

This fixes GDExtension reloading on macOS. I do not have a Windows machine
available to test that it still works properly on Windows, so someone should
check that before merging this.

(cherry picked from commit f44d6a235f)
2024-09-16 16:55:39 +02:00
6eea970e8c Fix Godot not quitting with --doctool --gdscript-docs.
(cherry picked from commit 13b20820ba)
2024-09-16 16:55:26 +02:00
6aff947ee5 pass in render_info to _fill_instance_data for alpha to fix overdraw call count
(cherry picked from commit 3388a4a360)
2024-09-16 16:55:12 +02:00
686591b948 [ImageFont] Fix escape sequence parsing, add note to the docs.
(cherry picked from commit 4cc065c2db)
2024-09-16 16:54:56 +02:00
acba31b746 Fix SoftBody3D pinned points breaking when reloading scene
(cherry picked from commit bde8c5977b)
2024-09-16 16:47:13 +02:00
d915947f3d Fix transposed tiles drawing in GenericTilePolygonEditor
(cherry picked from commit 3dfac1644d)
2024-09-16 16:47:00 +02:00
a031407e82 Fix TileAtlasView bounds checks for transposed tiles
(cherry picked from commit 6895f6f8cc)
2024-09-16 16:46:57 +02:00