lawnjelly
bc607fb607
Fix signed distance field font rendering
...
This fix works in both GLES3 and GLES2.
The rendering formula in the shader was adjusted to further improve the
sharpness/antialiasing quality balance.
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2024-02-05 17:50:33 +00:00
lawnjelly
7f3800ece2
Portals - include in bound and special cases in start room
...
* Re-introduces a property for portals to decide whether they are included in room bounds during room conversion.
* Adds a special case for portals that extend into the start room, which may be caused by level design inaccuracies.
2024-01-31 09:22:33 +00:00
lawnjelly
8b79135538
Add MergeGroup node to simplify merging Meshes at runtime
2024-01-31 08:28:51 +00:00
Rémi Verschelde
e9949a6db7
Merge pull request #87702 from lawnjelly/portal_export_logging
...
[3.x] Portals - Improve conversion logging
2024-01-29 23:30:11 +01:00
Rémi Verschelde
721eba5d5d
Merge pull request #87539 from SysError99/3.x-get_first_node_in_group
...
[3.x] Add `SceneTree::get_first_node_in_group` following 4.x
2024-01-29 23:29:04 +01:00
Rémi Verschelde
6f3c5e63f3
Merge pull request #82584 from lawnjelly/lightcull_23
...
[3.x] Shadow volume culling and tighter shadow caster culling
2024-01-29 23:27:56 +01:00
Rémi Verschelde
4e741ec2ba
Merge pull request #64493 from Mickeon/3.x-editor-group
...
[3.x] Add Node editor description group
2024-01-29 23:27:07 +01:00
lawnjelly
5e0b298d50
Portals - Improve conversion logging
...
Logging is now allowed in any TOOLS build (rather than just in the editor), but still prevented in final exports.
Logging can be switched off via project settings.
Autoplacement is now logged.
2024-01-29 14:21:22 +00:00
SysError99
99284482bc
[3.x] Add SceneTree::get_first_node_in_group
following 4.x
2024-01-26 21:26:40 +07:00
kobewi
c377bffaa1
Preserve selection when focusing SpinBox
2024-01-18 16:38:05 +01:00
Rémi Verschelde
e653473646
Merge pull request #86725 from Mickeon/3-x-remove-unused
...
[3.x] Remove unused struct in GradientTexture1D
2024-01-05 11:07:44 +01:00
Aaron Franke
ab9ed3245d
[3.x] Add "position" as an alias for "translation" in Spatial
2023-12-05 17:25:48 -06:00
Hugo Locurcio
4fefb136ea
Backport DirectionalLight fade_start
property to 3.x
...
- Implement shadow fading when using the Orthogonal shadow mode
(like in `master`).
This allows customizing the distance at which directional shadows
start to fade away. Shadow fading will also always start at the same
distance now, regardless of the current shadow mode in use.
This is useful for enclosed levels to prevent shadows from fading
at all with a well-tuned maximum distance.
The default fade start value (0.8) results in fading happening later
in the distance compared to the previous behavior, where fading started
from the last shadow split distance (0.6 in PSSM 4 Splits and
0.1 in PSSM 2 Splits).
2023-11-20 12:41:55 +01:00
lawnjelly
8ca631a466
Shadow volume culling and tighter shadow caster culling
...
Existing shadow caster culling using the BVH takes no account of the camera. This PR adds the highly encapsulated class VisualServerLightCuller which can cut down the casters in the shadow volume to only those which can cast shadows on the camera frustum.
This is used to:
* More accurately defer dirty updates to shadows when the shadow volume does not intersect the camera frustum.
* Tighter cull shadow casters to the view frustum.
Lights dirty state is now automatically managed:
* Continuous (tighter caster culling)
* Static (all casters are rendered)
2023-11-14 14:17:57 +00:00
Rémi Verschelde
010f53a0b6
Merge pull request #84115 from Chubercik/item_list_separator_fix
...
[3.x] Remove the separator from `ItemList`'s thumbnails mode
2023-11-14 11:37:33 +01:00
Jakub Marcowski
6637dc28f6
Remove the separator from ItemList
's thumbnail mode
2023-10-28 20:20:34 +02:00
kleonc
0cde6800e7
Make gizmo plugin handle SpriteBase3D instead of Sprite3D
2023-10-06 10:43:07 +02:00
Rémi Verschelde
5f9cbe514d
Merge pull request #75468 from Ansraer/four_is_overkill
...
[3.x] Add support for 3 dir shadow splits
2023-10-01 22:50:57 +02:00
lawnjelly
1f4a6e43df
Fix zero scale in particle shader
...
Fixes the lower bounding of scale when given zero input.
The previous bug was due to `sign` returning 0 with 0.0 input, rather than 1.
2023-09-19 08:30:50 +01:00
lawnjelly
3e19cf834a
CPUParticles2D - Add ability to follow physics interpolated target
...
Allows a non-interpolated particle system to closely follow an interpolated target without tracking ahead of the target, by performing fixed timestep interpolation on the particle system global transform, and using this for emission.
2023-09-18 16:05:03 +01:00
lawnjelly
bc1426dd70
CPUParticles2D - non-interpolated global mode use global space
...
Changes the implementation of non-interpolated global mode particles so that the vertices are specified in proper global space instead of local space (vertices were previously back transformed by the inverse of the parent transform).
2023-09-18 16:05:03 +01:00
Rémi Verschelde
1b4bae595e
Merge pull request #80955 from lawnjelly/fti2d_more_resets
...
[3.x] Physics Interpolation - automatic resets for Camera2D and TileMap
2023-09-18 17:00:05 +02:00
Rémi Verschelde
cc48c1825f
Merge pull request #80887 from lawnjelly/cpuparticles2d_fix_double_xform
...
[3.x] CPUParticles2D - fix interpolated transforms and culling
2023-09-18 17:00:00 +02:00
Rémi Verschelde
9eb4d5d5de
Merge pull request #80827 from lawnjelly/fix_cpu_particles_notif_transform
...
[3.x] CPUParticles - fix non-interpolated `NOTIFICATION_TRANSFORM`
2023-09-18 16:59:57 +02:00
Rémi Verschelde
d6c2a4bf68
Merge pull request #81352 from MJacred/3.x
...
[3.x] Fix cursor after last character INDEX in line counting as a character outside of the viewing area
2023-09-18 11:36:12 +02:00
DESKTOP-UT43QTQ\Garrigan-Desktop
2a319ab6fc
Backporting #76859 to 3.x
...
Co-authored-by: HolonProduction <holonproduction@gmail.com>
2023-09-12 09:45:23 -05:00
Rémi Verschelde
4461f38c0b
Merge pull request #81409 from timothyqiu/social-distance
...
[3.x] Fix PopupMenu icon and text not having separation
2023-09-07 13:24:34 +02:00
Haoyu Qiu
78a11ea48c
Fix PopupMenu icon and text not having separation
2023-09-07 18:14:44 +08:00
A Thousand Ships
d0a98e1ddc
Make TextureButton
and Button
update on texture change
2023-09-06 16:44:12 +02:00
MJacred
55cdaebdf9
Fix cursor after last character in line counting as a character outside of the viewing area
...
The cursor column can be after the last_visible_char index and still be visible.
2023-09-05 19:36:17 +02:00
Haoyu Qiu
aea0c1235d
Fix TouchScreenButton not redrawn when texture changes
...
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2023-08-29 18:08:28 +08:00
Paweł
268f83e07f
Fix scrolling behaviour with low page value
...
(cherry picked from commit 1608bea188
)
2023-08-28 17:27:13 +02:00
Haoyu Qiu
d6221bd614
Notify child controls when BackBufferCopy's rect changed
...
(cherry picked from commit 602a0d2fbc
)
2023-08-28 17:27:13 +02:00
lawnjelly
09b79ead80
Physics Interpolation - automatic resets for Camera2D and TileMap.
...
Extra reset required for Camera2D. TileMaps require resetting by quadrant.
2023-08-24 10:18:12 +01:00
lawnjelly
65f72c8c02
CPUParticles - fix non-interpolated NOTIFICATION_TRANSFORM
...
Updates global particle transforms immediately on receiving notification, to match legacy behaviour.
2023-08-22 18:35:00 +01:00
lawnjelly
723632a76a
CPUParticles2D - fix interpolated transforms and culling
...
1) Physics interpolated particles in global mode are specified in global space. In VisualServer they should therefore ignore local transform.
2) Additionally, the expected final_transform should be passed on to children, rather than the identity transform used on the local item.
3) Local bounds in hierarchical culling are fixed for items using identity transform, by calculating their local bound in local space from the global space particles.
2023-08-22 12:57:54 +01:00
Rémi Verschelde
cf4ccdfb09
Merge pull request #79598 from TokageItLab/orderdhashmap-blendtree
...
[3.x] Make AnimationNodeBlendTree use `OrderedHashMap` insteads `Map`
2023-08-18 17:52:15 +02:00
Rémi Verschelde
21ab700f2d
Merge pull request #80406 from lawnjelly/animated_sprite_normal_fix
...
[3.x] Fix AnimatedSprite normal map loading
2023-08-15 09:04:35 +02:00
Rémi Verschelde
95877b8e1f
Merge pull request #80289 from lawnjelly/fti_2d_reset_on_enter
...
[3.x] Physics Interpolation 2D - reset on NOTIFICATION_ENTER_TREE
2023-08-08 14:28:23 +02:00
lawnjelly
d02b319ec4
Fix AnimatedSprite normal map loading
...
Normal map names are now correctly set up during loading.
2023-08-08 09:42:55 +01:00
lawnjelly
bcfca5ec86
Physics Interpolation 2D - reset on NOTIFICATION_ENTER_TREE
...
As a convenience, physics interpolation is reset automatically on entering the tree. This will be desired in most situations, and saves the user having to write code for this explicitly.
2023-08-05 08:33:19 +01:00
lawnjelly
a117a3307a
Physics Interpolation - add support for CPUParticles2D
...
Similar to the existing 3D CPUParticles physics interpolation.
2023-08-03 14:44:08 +01:00
Rémi Verschelde
078e1b9f45
Merge pull request #79498 from lawnjelly/multirect_fix_flushing
...
[3.x] MultiRect - Fix flushing in TextEdit
2023-08-02 17:27:35 +02:00
lawnjelly
5162efbfe9
2D Fixed Timestep Interpolation
...
Adds support to canvas items and Camera2D.
2023-08-01 16:07:48 +01:00
Silc Lizard (Tokage) Renew
06a98b809a
[3.x] Make AnimationNodeBlendTree use OrderedHashMap insteads Map
2023-07-18 17:56:24 +09:00
lawnjelly
8814578ceb
MultiRect - Fix flushing in TextEdit
...
The FontDrawer used in TextEdit was previously not being flushed before drawing auto-completion boxes. This was causing rendering artifacts.
This PR also increases the backward compatibility of the MultiRect OFF mode, by forcing a flush after each character.
2023-07-15 14:02:21 +01:00
lawnjelly
43e181a00a
Single Compilation Unit build.
...
Adds support for simple SCU build.
This speeds up compilation by compiling multiple cpp files within a single translation unit.
2023-07-02 20:13:16 +01:00
Rémi Verschelde
29eeb461f2
Merge pull request #68738 from lawnjelly/faster_canvas_item
...
[3.x] Canvas item hierarchical culling
2023-06-27 08:40:22 +02:00
Maganty Rushyendra
7958ceaab8
Fix overwriting of Spatial's local transform
...
Modifies when 'DIRTY_LOCAL' flag is set to prevent a transform applied
using `set_transform` to be overwritten by previous calls to change the
node's rotation, translation or scale.
Fixes #43130 .
2023-06-19 16:18:51 +02:00
Rémi Verschelde
9ba9a41766
Merge pull request #78220 from raulsntos/dotnet/reserved-assembly-name-3.x
...
[3.x] C#: Avoid GodotSharp as project assembly name
2023-06-15 15:55:19 +02:00
Rémi Verschelde
3b3c5f413e
Merge pull request #77979 from paddy-exe/video-loop-fix
...
[3.x] Backport video loop property and fix for initial black frame
2023-06-15 15:55:14 +02:00
Rémi Verschelde
b91d8d49fa
Merge pull request #78182 from godotengine/revert-63193-visibility_enabler2
...
Revert "Add option in VisibilityEnabler2D to hide the parent for better performance"
2023-06-13 16:03:30 +02:00
Rémi Verschelde
eaca9a17c3
Revert "Add option in VisibilityEnabler2D to hide the parent for better performance"
2023-06-13 14:25:19 +02:00
wareya
a40ecc71e6
move autotile fallback helper functions + fix comments and docs
2023-06-10 12:17:57 -04:00
wareya
73ad6517e4
make autotiles fall back to the most similar bitmask using heuristics
2023-06-09 22:27:19 -04:00
Patrick
58d76c117e
[3.x] Backport VideoLooping and fix for initial black frame
2023-06-07 21:36:37 +02:00
Rémi Verschelde
b15f7c1319
Merge pull request #77691 from rsubtil/fix_popupmenu_auto_height
...
[3.x] Fix `PopupMenu`'s automatic max height
2023-06-07 14:46:30 +02:00
Rémi Verschelde
450902ad3f
Merge pull request #77403 from KoBeWi/RichHackLabel
...
[3.x] Cache text property when toggling BBCode
2023-06-07 14:46:27 +02:00
Rémi Verschelde
f742d98679
Merge pull request #75959 from ShadyChibinko/tab_metadata_3x
...
[3.x] Add tab Metadata to Tabs & TabContainer
2023-06-07 14:46:21 +02:00
Ricardo Subtil
7fdfed2a9e
Fix PopupMenu's maximum height not being automatically set
2023-05-31 10:53:09 +01:00
Rémi Verschelde
894739109d
Merge pull request #77245 from novalis/slider-3.5
...
[3.x] Stop dragging when Slider changes editability
2023-05-23 19:05:29 +02:00
Rémi Verschelde
f1fa69a58d
Merge pull request #76753 from Calinou/itemlist-tree-add-allow-search-property-3.x
...
Add allow_search property to ItemList and Tree (3.x)
2023-05-23 19:05:25 +02:00
kobewi
95feb6bb82
Cache text property when toggling BBCode
2023-05-23 19:04:39 +02:00
David Turner
f6b918a1ca
Stop dragging when a slider changes editability
2023-05-19 11:31:34 -04:00
lawnjelly
6f8e632848
Make acos and asin safe
...
A common bug with using acos and asin is that input outside -1 to 1 range will result in Nan output. This can occur due to floating point error in the input.
The standard solution is to provide safe_acos function with clamped input. For Godot it may make more sense to make the standard functions safe.
2023-05-11 09:51:44 +01:00
lawnjelly
43b6205887
Multirect - Fix refining regions for all derived Textures
...
Fixes allowing all derived texture types to modify region prior to rendering.
2023-05-08 14:48:46 +01:00
Rémi Verschelde
627a2909c2
Merge pull request #76833 from kleonc/gridcontainer-max-row-column-calculations-fix
...
[3.x] Fix `GridContainer` max row/column calculations not skipping hidden children
2023-05-08 15:06:28 +02:00
Rémi Verschelde
e250950760
Merge pull request #76703 from kleonc/tilemap-nested-atlas-texture-rendering-fix
...
[3.x] Fix rendering tiles using nested AtlasTextures
2023-05-08 14:58:07 +02:00
kleonc
0ce6ef7215
Fix GridContainer max row/column calculations not skipping hidden children
2023-05-08 12:51:28 +02:00
needleful
aac5558760
Add allow_search property to ItemList and Tree
2023-05-05 18:02:49 +02:00
kleonc
12c923cb8b
Fix rendering tiles using nested AtlasTextures
2023-05-03 18:29:28 +02:00
Ninni Pipping
48347499c2
Fix size error in BitMap.opaque_to_polygons
...
Previous estimate of upper limit on size was incorrect
2023-04-28 19:03:49 +02:00
Rémi Verschelde
83e91ab818
Merge pull request #76323 from aaronfranke/3.x-t2d-basis-det
...
[3.x] Expose `determinant` in Transform2D, rename internal method
2023-04-26 12:17:00 +02:00
lawnjelly
b777a9e5f9
Canvas item hierarchical culling
...
Adds optional hierarchical culling to the 2D rendering (within VisualServer).
Each canvas item maintains a bound in local space of the item itself and all child / grandchild items. This allows branches to be culled at once when they don't intersect a viewport.
2023-04-25 20:17:33 +01:00
Rémi Verschelde
bfb6877b3c
Merge pull request #75612 from lawnjelly/fix_skele2d_bounds2
...
[3.x] Fix Polygon2D skinned bounds (for culling)
2023-04-25 16:24:59 +02:00
Rémi Verschelde
54e293bfcb
Merge pull request #69952 from lawnjelly/canvas_layer_ordering
...
Consistent render ordering for CanvasLayers
2023-04-25 16:24:57 +02:00
Rémi Verschelde
31224276ee
Merge pull request #63193 from BimDav/visibility_enabler2
...
Add option in VisibilityEnabler2D to hide the parent for better performance
2023-04-25 16:24:54 +02:00
Fredia Huya-Kouadio
de20011cbe
Make tab's close button responsive to touch taps
2023-04-22 20:31:18 -07:00
Aaron Franke
141783d90f
[3.x] Expose determinant
in Transform2D, rename internal method
2023-04-22 13:47:47 -05:00
Rémi Verschelde
a6b01ca69d
Merge pull request #75995 from AThousandShips/3_x_autohide_theme
...
[3.x] Don't apply scale to autohide theme property
2023-04-17 17:25:35 +02:00
Rémi Verschelde
e3656745cc
Merge pull request #69723 from lawnjelly/surface_tool_revamp
...
SurfaceTool - efficiency improvements
2023-04-17 17:25:30 +02:00
Rémi Verschelde
4c5a934408
Merge pull request #68960 from lawnjelly/multirect
...
Batching - Add MultiRect command
2023-04-17 17:25:20 +02:00
Ninni Pipping
1c66257568
[3.x] Don't apply scale to autohide theme property
2023-04-12 17:45:27 +02:00
lawnjelly
dd6c213dac
Fix Polygon2D skinned bounds (for culling)
...
The bound Rect2 was previously incorrect because bone transforms need to be applied to verts in bone space, rather than local space. This was previously resulting in skinned Polygon2Ds being incorrectly culled.
2023-04-12 10:17:02 +01:00
ShadyChibinko
7af43733e1
Add Tab Metadata
2023-04-11 20:36:48 -04:00
Rémi Verschelde
baf2fe8771
Merge pull request #74870 from rsubtil/range_value_no_signal
...
[3.x] Add `set_value_no_signal()` to Range
2023-04-11 10:53:30 +02:00
Rémi Verschelde
564622af51
Merge pull request #69645 from radenling/backport-fix-viewport-update-in-editor
...
[3.x] Fix for 2D viewport not updating in the editor when the camera moves
2023-04-11 10:53:20 +02:00
Ansraer
54bc6a300e
add support for 3 dir shadow splits
2023-03-29 13:40:17 +02:00
Richard Adenling
3cfbabfa59
Fix for 2D viewport not updating in the editor when the camera moves
...
This fixes a problem with 2D viewports not taking the camera position
into consideration when previewed in the editor.
Fixes #40441
2023-03-26 20:49:59 +02:00
kobewi
fdae01de10
Add set_value_no_signal() to Range
2023-03-13 16:36:18 +00:00
lawnjelly
1730fab22a
Consistent render ordering for CanvasLayers
...
Maintains scene tree ordering for CanvasLayers that share identical layer ID.
2023-03-12 05:00:13 +00:00
lawnjelly
57306bf0e3
Fix TextEdit color_region_cache bug
...
Due to a single error, _is_line_in_region was previously iterating over the color highlighting for the entire document repeatedly for each line in the script.
This is now fixed, which should make the editor much faster with large scripts.
2023-03-11 16:18:29 +00:00
lawnjelly
910ddd13c4
Batching - Add MultiRect command
...
Large groups of similar rects can be processed more efficiently using the MultiRect command. Processing common to the group can be done as a one off, instead of per rect.
Adds the new API to VisualServerCanvas, and uses the new functionality from Font, BitmapFont, DynamicFont and TileMap, via the VisualServerCanvasHelper class.
2023-03-10 10:58:04 +00:00
Rémi Verschelde
d627f4f80d
Merge pull request #74085 from AThousandShips/tree_set_selected_3_x
...
[3.x] Backport Tree::set_selected
2023-03-06 12:36:56 +01:00
Ninni Pipping
8185fa8e2a
[3.x] Backport Tree::set_selected
...
Backport function from godotengine#68448
Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2023-02-27 20:26:15 +01:00
smix8
c7a92f68a1
Add error messages for collision exception functions
...
Adds error messages to collision exception functions when used with the wrong object/node instead of failing silently.
2023-02-24 00:36:30 +01:00
Rémi Verschelde
89788cdcc2
Merge pull request #70514 from stmSi/fix-editor-hanging-audio-pitch-scale-nan
...
[3.x] Fix hanging if audiostream's pitch_scale is NaN
2023-02-17 12:15:27 +01:00
Rémi Verschelde
b53302891a
Merge pull request #73206 from akien-mga/3.x-rtl-custom_effects-fix-hint
...
RichTextLabel: Fix hint string for custom_effects property
2023-02-13 13:08:36 +01:00
Rémi Verschelde
48217503c5
Merge pull request #68576 from Maran23/rich-text-label-bbcode-color-tag-fix
...
[3.x] Fix RichTextLabel: BBCode [color] tags are not counting in font char spacing
2023-02-13 13:08:13 +01:00
Rémi Verschelde
32b3ef7727
RichTextLabel: Fix hint string for custom_effects property
...
Fixes #73190 .
2023-02-13 09:26:32 +01:00