Commit graph

15304 commits

Author SHA1 Message Date
Arseny Kapoulkine
18d6ae1161 Fix LOD generation for meshes with tangents & mirrored UVs
When UVs are mirrored in a mesh, collapsing vertices across the
mirroring seam can significantly reduce quality in a way that is not
apparent to the simplifier. Even if simplifier was given access to UV
data, the coordinates would need to be weighted very highly to prevent
these collapses, which would penalize overall quality of reasonable
models.

Normally, well behaved models with mirrored UVs have tangent data that
is correctly mirrored, which results in duplicate vertices along the
seam. The simplifier automatically recognizes that seam and preserves
its structure; typically models have few edge loops where UV winding is
flipped so this does not affect simplification quality much.

However, pre-processing for LOD data welded vertices when UVs and
normals were close, which welds these seams and breaks simplification,
creating triangles with distorted UVs.

We now take tangent frame sign into account when the input model has
tangent data, and only weld vertices when the sign is the same.
2024-07-23 16:35:46 -07:00
Silc Lizard (Tokage) Renew
88e590c9d3 Add approx comparing methods to Animation, use them on time comparison 2024-07-24 01:18:06 +09:00
Rémi Verschelde
adf58849c6
Merge pull request #94645 from jsjtxietian/lightmap-override
Fix newly baked lightmap can't override previously baked at same path
2024-07-23 15:55:39 +02:00
Rémi Verschelde
05504ebf27
Merge pull request #94439 from kitbdev/fix-reopen-hscroll
Fix ScriptEditor scrolling horizontally when reopening script
2024-07-23 15:55:32 +02:00
Rémi Verschelde
307efbadf8
Merge pull request #94420 from TokageItLab/player-seek-internal
Handle internal seek on AnimationPlayer to process discrete correctly
2024-07-23 13:08:05 +02:00
Rémi Verschelde
add558f3bc
Merge pull request #94304 from TokageItLab/fix-end-of-statemachine
Fix StateMachine process when transition to end & optimize StringName
2024-07-23 13:07:59 +02:00
Giganzo
7e549aa52e Fix rtl on follow focus
Change right_margin to side_margin
2024-07-23 10:29:55 +02:00
jsjtxietian
a8526e68a7 Fix newly baked lightmap can't override previously baked at same path 2024-07-23 12:38:20 +08:00
Rémi Verschelde
962c2512c3
Merge pull request #94611 from Chaosus/vs_fix_texture_warning
Fix warning printing for `VisualShaderNodeTextureParameter`
2024-07-22 14:13:20 +02:00
Rémi Verschelde
6694f55f40
Merge pull request #94606 from bruvzg/rtl_msdf_r
[RTL] Fix text size rounding with MSDF fonts.
2024-07-22 14:13:17 +02:00
Rémi Verschelde
3018178d3f
Merge pull request #94286 from aaronp64/flowcontainer_resort_crash
Avoid `FlowContainer` crash with `TextureRect` using EXPAND_FIT_* expand modes
2024-07-22 14:12:48 +02:00
David Trallero
67ece3dc63
Fix polyphonic audio streams with id > 1 cannot be stopped or changed (MSVC mis-optimization) 2024-07-22 14:08:02 +02:00
Yuri Rubinsky
7c9afbc139 Fix warning printing for VisualShaderNodeTextureParameter 2024-07-22 11:22:27 +03:00
bruvzg
93ccf8e9e4
[RTL] Fix text size rounding with MSDF fonts. 2024-07-22 07:48:29 +03:00
aaronp64
5682cc7b81 Avoid FlowContainer crash with TextureRect using EXPAND_FIT_* expand modes
When a FlowContainer had a TextureRect child using any of the EXPAND_FIT_* expand modes, it could crash when changing the FlowContainer's minimum size, or that of its children.  This was due to the TextureRect resizing in FlowContainer::_resort, updating its minimum size, and triggering another _resort.  If the TextureRect's minimum size changed in a way that caused any of the FlowContainer's children to be put on a different line, it could repeatedly cause _resort to be called again, moving the children back and forth between the old and new lines.

This change is for FlowContainer::_resort to give a warning for TextureRects with EXPAND_FIT_* expand modes when multiple lines are used, and just keep the TextureRect size the same in that case.  This is similar to the check added to AspectRatioContainer in godotengine#73396, but attempting to still support it in FlowContainer when possible.  In the case where the TextureRect is forced to stay the same size, there may be some overlap between the FlowContainer's children, but should no longer crash.
2024-07-21 13:09:22 -04:00
Rémi Verschelde
d9bfdfdd64
Merge pull request #94521 from jamie-pate/fix_92333
Fix dynamic-stack-buffer-overflow crash when executing random functions on random physics objects
2024-07-19 11:10:59 +02:00
Rémi Verschelde
edefcf6d1e
Merge pull request #94230 from CrazyRoka/optimize-gdscript-get-position
Optimize `Node::is_readable_from_caller_thread()` by prioritizing the most common case
2024-07-19 11:10:43 +02:00
Jamie Pate
eb5f1299b2 Fix dynamic-stack-buffer-overflow crash when executing random functions on random physics objects
Fixes #92333

This looks correct, and fixes the ASAN assertion I'm currently getting
in my program.
2024-07-18 19:22:03 -07:00
Rémi Verschelde
caa1b6d991
Merge pull request #94498 from Chaosus/vs_fix_connection_bug
Fix internal connection count decreased if visual shader node removed
2024-07-18 15:38:27 +02:00
Rémi Verschelde
72e434bad4
Merge pull request #94497 from Chaosus/vs_rotation_by_axis
Few fixes for `VisualShaderNodeRotationByAxis`
2024-07-18 15:38:24 +02:00
Rémi Verschelde
7d71b4be37
Merge pull request #94422 from m4gr3d/fix_input_locking_issue
Fix input lock issue when drag scrolling on a `Tree` element on touchscreen devices
2024-07-18 15:38:17 +02:00
Rémi Verschelde
d12030e6d7
Merge pull request #94365 from KoBeWi/every_single_time
Fix empty region in AtlasTexture
2024-07-18 15:38:11 +02:00
kobewi
10da06a32c Fix empty region in AtlasTexture 2024-07-18 15:31:59 +02:00
A Thousand Ships
832695eb2c
[Tests] Fix various unit tests on minimal builds 2024-07-18 15:17:28 +02:00
Fredia Huya-Kouadio
70d450d086 Fix issue causing input lock when drag scrolling a Tree element on touchscreen devices
Prior to this fix, scrolling via mouse drag on touchscreen devices, and
drag&drop operation on a `TreeItem` element would conflict with each other
preventing the drag scroll from being released when the mouse button is
released.

The issue is addressed by disabling drag&drop when drag scrolling is ongoing.
2024-07-18 04:09:54 -07:00
Rémi Verschelde
43902f43d5
Merge pull request #94237 from BlueCube3310/lightmap-atlas-loop-fix-always
Lightmapper: Prevent infinite loop while blitting lightmaps into an atlas
2024-07-18 10:45:33 +02:00
Yuri Rubinsky
14c36b733c Fix internal connection count decreased if visual shader node removed 2024-07-18 11:40:02 +03:00
Yuri Rubinsky
cf70cb57ee Few fixes for VisualShaderNodeRotationByAxis 2024-07-18 11:10:36 +03:00
Adam Scott
2f5f84b470
Fix audio samples not being able to be "finished" 2024-07-17 10:45:38 -04:00
Rémi Verschelde
fa2266716e
Merge pull request #94363 from bruvzg/fix_code_completion_scroll
[macOS] Fix code completion list scrolling with trackpad.
2024-07-17 15:45:10 +02:00
Rémi Verschelde
e7b624567d
Merge pull request #94345 from matheusmdx/fix-instance-placeholder-with-resource
Fix resources being skipped in InstancePlaceholder
2024-07-17 15:45:00 +02:00
Rémi Verschelde
5da03541a1
Merge pull request #93749 from alvinhochun/gui-snap-to-pixel-round-halfway-to-positive
Change GUI controls pixel snap to round halfway towards positive infinity (`floor(x + 0.5)`)
2024-07-17 15:44:43 +02:00
matheusmdx
260c05152d Fix resources being skipped in InstancePlaceholder 2024-07-17 10:25:29 -03:00
A Thousand Ships
d4cf294b35
Fix potential null access in TextEdit 2024-07-17 13:35:22 +02:00
Rémi Verschelde
c77c41df88
Merge pull request #94362 from smix8/navpoly_unref_fix
Fix NavigationPolygon not updating consistently on rebakes
2024-07-17 11:44:09 +02:00
Rémi Verschelde
ac215012d6
Merge pull request #94291 from TokageItLab/readdskel
Re-add `Skeleton3D::animate_physical_bones` property
2024-07-17 11:43:51 +02:00
Rémi Verschelde
78120c66cc
Merge pull request #94085 from anniryynanen/min-size-hidden-parent
Fix container minimum size with hidden parent
2024-07-17 11:43:07 +02:00
kit
f8df6b1c70 Fix ScriptEditor scrolling horizontally on reopen 2024-07-16 11:19:58 -04:00
Silc Lizard (Tokage) Renew
98dbd869c5 Handle internal seek on AnimationPlayer to process discrete correctly 2024-07-16 14:49:25 +09:00
bruvzg
dc98e432e5
[macOS] Fix code completion list scrolling with trackpad. 2024-07-15 08:12:19 +03:00
smix8
9dd05964d5 Fix NavigationPolygon not updating consistently on rebakes
Fixes that NavigationPolygon did not update in all cases because the internal NavigationMesh was not always unref and freed which blocked creating a new mesh later if nothing else freed it.
2024-07-14 22:01:11 +02:00
Silc Lizard (Tokage) Renew
9c1f23c3db Re-add Skeleton3D::animate_physical_bones 2024-07-14 14:24:25 +09:00
BlueCube3310
60a255a0d0 Lightmapper: Prevent infinite loop when blitting lightmaps into an atlas 2024-07-13 13:10:04 +02:00
Silc Lizard (Tokage) Renew
7cdeac94d1 Fix StateMachine process when transition to end & optimize StringName 2024-07-13 17:32:31 +09:00
Yuri Rubinsky
92aa01f937 Add few new outputs to the visual shaders 2024-07-12 17:12:22 +03:00
Anni Ryynänen
a9c91f4eef
Fix container minimum size with hidden parent 2024-07-12 16:21:05 +03:00
CrazyRoka
6c86268fdd Decorate rare !data.inside_tree condition with unlikely 2024-07-12 13:38:41 +01:00
CrazyRoka
53e9d90850 Optimize Node::is_readable_from_caller_thread() by prioritizing the most common case. 2024-07-11 20:40:00 +01:00
Rémi Verschelde
fbac9c54c9
Merge pull request #94147 from MovaUA/fixes/node-configuration-warning-dialog-text
Fixes/node configuration warning dialog text
2024-07-11 00:27:39 +02:00
Rémi Verschelde
013ee6a458
Merge pull request #94003 from KernRat/scroll-fix
Fix RichTextLabel + `ui_down` scrolling too far
2024-07-11 00:27:10 +02:00
Valeriy Molchanov
32369d2b6d
Fix Issue #94145 Incorrect text in the Node Configuration Warning dialog
Fix some translations

Revert "Fix some translations"

This reverts commit 61e586ef84fb962eefdc14593241c1d8b0fb7b6b.

Revert "Fix Issue #94145 Incorrect text in the Node Configuration Warning dialog"

This reverts commit d0832dc5e7f0657744780cdfc97ed40772ea717c.

msgid

warnings.push_back(RTR("A SpriteFrames resource must be created or set in the \"Sprite Frames\"

revert editor/translations/editor
2024-07-09 22:36:18 +02:00
Yuri Rubinsky
af5fc8354b Fix a bunch of orphan StringName errors at ProjectSettings/Editor exit 2024-07-09 19:38:52 +03:00
Rémi Verschelde
ff8050efda
Merge pull request #94014 from markdibarry/parallax-snap
Add pixel snap for `Parallax2D`
2024-07-09 16:47:17 +02:00
Rémi Verschelde
17e7253ea8
Merge pull request #93721 from semensanyok/fix-RichTextLabel-fade-start-index
Fix RichTextLabel fade set `start_index` to command offset
2024-07-09 16:47:10 +02:00
bruvzg
eddc9cea11
[NativeMenu] Do not auto toggle check/multi-state items. Add is_native_menu method. 2024-07-08 11:20:28 +03:00
Ricardo Buring
2f8ab4a654 Fixed Timestep Interpolation (3D)
Adds 3D fixed timestep interpolation to the rendering server.
This does not yet include support for multimeshes or particles.

Co-authored-by: lawnjelly <lawnjelly@gmail.com>
2024-07-07 22:15:23 +02:00
Rémi Verschelde
42e5b3ac2d
Merge pull request #94044 from adamscott/fix-web-sample-playback-finished-signal
Fix Web samples finished missing signal
2024-07-07 21:59:00 +02:00
Rémi Verschelde
307b4e3091
Merge pull request #94039 from rburing/fix_physics_tickcounter
Fix physics tick counter
2024-07-07 21:58:55 +02:00
Rémi Verschelde
aec5c85acb
Merge pull request #94036 from rburing/fti_fix_pause
Physics Interpolation: Fix behaviour on pause
2024-07-07 21:58:51 +02:00
Adam Scott
a38f30fbd5 Fix Web samples finished missing signal 2024-07-07 14:47:54 -04:00
Ricardo Buring
23521635d2 Fix physics tick counter
The counter is now incremented at the start of a physics tick rather than at the end.

Co-authored-by: lawnjelly <lawnjelly@gmail.com>
2024-07-07 19:04:05 +02:00
Ricardo Buring
ceadbaa299 Fixed Timestep Interpolation: Fix behaviour on pause
Co-authored-by: lawnjelly <lawnjelly@gmail.com>
2024-07-07 16:48:17 +02:00
Mark DiBarry
b83359518f Remove unused assignment in Parallax2D 2024-07-07 10:44:13 -04:00
Mark DiBarry
8888e9216f Add pixel snap for Parallax2D 2024-07-07 10:09:15 -04:00
Rémi Verschelde
92880e113a
Merge pull request #93999 from Geometror/fix-slot-change-redraw
Fix connections not updated after GraphNode slot update
2024-07-07 12:38:50 +02:00
KernRat
3f4222bad4
Fixed RichTextLabel + ui_down scrolling too far 2024-07-06 16:58:33 +02:00
Hendrik Brucker
104c77cd86 Fix connections not updated after GraphNode slot update 2024-07-06 14:33:34 +02:00
Silc Lizard (Tokage) Renew
59667f8ea2 Fix property type of Sprite3D frame_coords to Vector2i from Vector2 2024-07-06 05:36:45 +09:00
Rémi Verschelde
b97110cd30
Merge pull request #93908 from Geometror/ge-resized-fix
Fix `Control` nodes emitting unnecessary `resized` signals
2024-07-05 16:38:10 +02:00
Rémi Verschelde
f1749c691f
Merge pull request #93968 from bruvzg/font_prev_update
[Editor] Update font preview directly instead of invalidating property list.
2024-07-05 15:07:50 +02:00
Rémi Verschelde
1704af01b1
Merge pull request #93959 from kitbdev/fix-drop-on-selection
Fix dropping on selection in script editor
2024-07-05 15:07:44 +02:00
bruvzg
847aadee02
[Editor] Update font preview directly instead of invalidating property list. 2024-07-05 12:48:39 +03:00
kit
fc16465d17 Fix dropping on selection in script editor 2024-07-04 19:42:38 -04:00
Hendrik Brucker
1c47fd7089 Fix Control nodes emitting unnecessary resized signals 2024-07-05 01:41:21 +02:00
Rémi Verschelde
5c84398c15
Merge pull request #93903 from Geometror/vs-fix-frame-edscale
Fix some VisualShader features for high DPI displays/custom UI scales
2024-07-04 23:27:03 +02:00
Hendrik Brucker
b871794591 Fix GraphFrame autoshrink with high DPI displays/custom UI scales 2024-07-04 19:08:06 +02:00
Rémi Verschelde
4d984b6369
Merge pull request #93930 from Arnklit/short-animation-length-bezier-handle-fix
Clamp bezier handle length to half the length of animation
2024-07-04 17:12:22 +02:00
Rémi Verschelde
af55caff36
Merge pull request #93723 from KoBeWi/bandaid.tscn
Speed up scene group scanning for text scenes
2024-07-04 17:12:06 +02:00
Kasper Frandsen
7c6f32ddbf Clamp bezier handle length to half the length of animation 2024-07-04 13:41:12 +01:00
Rémi Verschelde
640d8151ff
Merge pull request #93876 from JacobMillner/fix-blend-times-sorting
Fix AnimationPlayer `blend_times` sorting
2024-07-04 11:32:07 +02:00
bruvzg
41df3caad3
[Button] Use align_to_largest_stylebox for min. size calculation. 2024-07-04 09:40:55 +03:00
Jacob Millner
825cb3e6c5 fix the sorting of blend_times in animation player
Modify BlendKey's sort to use  AlphaCompare in order to create a deterministic sort

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-07-03 10:01:32 -04:00
Arseny Kapoulkine
a13a64eacd Disable normal raycaster for LOD generation by default
Normal raycaster makes LOD generation process >2x slower and often
generates normals that look significantly worse compared to what the
simplifier comes up with by default. This was likely different before
last meshoptimizer upgrade, as the attribute metric was not functioning
properly, but now it looks like it's doing more harm than good.

This change makes it disabled by default but keeps an easy option to
re-enable it per mesh using LOD parameters for now until we get more
confidence and can remove the code outright.

Because the long term plan would be to disable this feature entirely,
the scripting API isn't changed, and it's just off-by-default there with
no way to re-enable.
2024-07-02 10:18:15 -07:00
Hugo Locurcio
33e1f570ff
Fix GPUParticles Inherit Velocity breaking with physics movement
GPUParticles' Inherit Velocity property used to act strangely
if the physics tick rate was lower than the rendered FPS, as velocity
was tracked in the process and not in the physics process. This
means that on certain rendered frames, the velocity was effectively
0 since there was no movement since the last rendered frame.
2024-07-02 01:46:57 +02:00
kleonc
88b29539f7 Fix AtlasTexture::draw_rect flipping for non-zero margin 2024-07-01 21:22:25 +02:00
Rémi Verschelde
a05237f5d0
Merge pull request #93785 from TokageItLab/fix-bezier-init
Fix Bezier track init value on caching without RESET animation
2024-07-01 10:07:37 +02:00
Silc Lizard (Tokage) Renew
e8c2edefd1 Fix Bezier track init value on caching 2024-07-01 01:20:43 +09:00
kobewi
b83c64faac Speed up scene group scanning for text scenes 2024-06-29 21:30:38 +02:00
Rémi Verschelde
4ab8fb8093
Merge pull request #93747 from KoBeWi/layer_of_bugs
Fix some TileMapLayer editing problems
2024-06-29 19:54:30 +02:00
Alvin Wong
cc45c2cdd3 Change GUI controls pixel snap to round halfway to +ve infinity 2024-06-30 00:33:37 +08:00
kobewi
92b0375785 Fix some TileMapLayer editing problems 2024-06-29 18:18:54 +02:00
Mark DiBarry
6b17d51425 Add alternative pixel rounding 2024-06-29 10:33:39 -04:00
semensanyok
5dffb9b5e6 fix RichTextLabel fade set start_index to command offset 2024-06-28 23:15:21 +02:00
Rémi Verschelde
d71c85ce5f
Merge pull request #92016 from KoBeWi/pick_layers_like_a_boss
Allow selecting TileMapLayers by clicking them
2024-06-28 15:55:10 +02:00
Rémi Verschelde
a365cf59c8
Merge pull request #93635 from Chaosus/shader_fix_vec4_uniform
Use `PackedVector4Array` instead of float array for vec4 array uniform
2024-06-28 14:42:57 +02:00
Yuri Rubinsky
72c7e51905 Use PackedVector4Array instead of float array for vec4 array uniform 2024-06-28 13:34:43 +03:00
Rémi Verschelde
17a0a080e7
Merge pull request #93672 from KoBeWi/duplicarray
Fix duplicating nodes with Array properties
2024-06-28 11:35:14 +02:00
Rémi Verschelde
a647789c5b
Merge pull request #93656 from vgezer/fixmissingsep
Add missing punctuation to the default TextEdit word separators
2024-06-28 11:35:11 +02:00
Rémi Verschelde
11db60e9c5
Merge pull request #93482 from TokageItLab/reset-attachment
Reset when disabling override pose in BoneAttachment3D
2024-06-28 11:34:55 +02:00
kobewi
bef2e62c88 Fix duplicating nodes with Array properties 2024-06-27 19:17:50 +02:00