Commit Graph

1339 Commits

Author SHA1 Message Date
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
Rémi Verschelde eaca9a17c3
Revert "Add option in VisibilityEnabler2D to hide the parent for better performance" 2023-06-13 14:25:19 +02: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
kleonc 12c923cb8b Fix rendering tiles using nested AtlasTextures 2023-05-03 18:29:28 +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 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
Rémi Verschelde 4c5a934408
Merge pull request #68960 from lawnjelly/multirect
Batching - Add MultiRect command
2023-04-17 17:25:20 +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
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
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
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
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
Brian Semrau 70316aab91 Fix Line2D UVs when using BOX end cap mode 2023-02-10 20:45:31 -05:00
smix8 b5213cceac Fix navigation related nodes not propagating parent class config warnings
Fixes that navigation related nodes do not propagate config warnings from their parent classes.
2023-01-30 16:26:42 +01:00
Rémi Verschelde abf5f72073
Merge pull request #70717 from Calinou/particles-tweak-animation-offset-property-hint-3.x
Tweak particles animation offset property hint to allow more precise values (3.x)
2023-01-11 11:57:38 +01:00
Rémi Verschelde 1426cd3b3a
One Copyright Update to rule them all
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.

It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).

We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).

Also fixed "cf." Frenchism - it's meant as "refer to / see".

Backported from #70885.
2023-01-10 15:26:54 +01:00
Hugo Locurcio 717cbbd6e7
Tweak particles animation offset property hint to allow more precise values 2022-12-29 22:17:47 +01:00
stmSi 28e1fc4af9 Fix Editor hanging if audiostream's pitch_scale is NaN 2022-12-24 12:34:22 +06:30
Rémi Verschelde 3b7bb812fd
Merge pull request #70310 from Sauermann/3x-fix-follow-viewport-transform
[3.x] Include the follow-viewport-transform into CanvasLayer transform calculations
2022-12-22 08:55:28 +01:00
Markus Sauermann 608cbd8296 Include the follow-viewport-transform into CanvasLayer transform calculations
The follow-viewport-transform was missing from several calculations

3.x version of #59682
2022-12-19 19:18:54 +01:00
smix8 17e6d76de6 Fix Navigation agent callback wild pointer crash
Fixes crash in sanitizer builds when callback agent or object are already freed.

(cherry picked from commit 194c1c44e0)
2022-12-18 10:32:04 +08:00
FireForge 0d602ce881 Add Vector2/3 linking to more properties
- Camera2D.zoom
- CanvasLayer.scale
- ParallaxBackground.scroll_base_scale
- ParallaxLayer.motion_scale
- Polygon2D.texture_scale
- SpatialMaterial.uv1_scale
- SpatialMaterial.uv2_scale

(cherry picked from commit 92817aa72f)
2022-12-18 10:32:04 +08:00
kobewi 9499ebecee Add vector value linking
Co-authored-by: redlamp <244062+redlamp@users.noreply.github.com>
(cherry picked from commit 5553e27fe8)
2022-12-18 10:32:04 +08:00
Wilson E. Alvarez 78b8cf7edb
Avoid compiling Editor checks in release builds for VisibilityNotifier2D 2022-12-15 11:13:10 -05:00
Rémi Verschelde 2c714f19e5
Merge pull request #65453 from timothyqiu/agent-target-3.x
[3.x] Make NavigationAgent `target_location` a property
2022-12-12 16:07:25 +01:00
smix8 16bb34d23d Add detail to NavigationPolygon outline error msg
Adds additional information to the error msg when the convex partition fails due to invalid outline arrays.

(cherry picked from commit f30ebacbe8)
2022-12-12 14:19:46 +08:00
Hugo Locurcio 5115db63aa
Fix BackBufferCopy `rect` property appearing when not relevant in inspector
The `rect` property is only effective if `copy_mode` is Rect.
2022-12-08 20:04:56 +01:00
kobewi 2f13adbdb6 Remove error condition from get_global_transform()
(cherry picked from commit 2ff676a696)
2022-12-01 11:47:52 +08:00
Hugo Locurcio 4c26cac0e6
Improve collision exception error messages for easier understanding 2022-11-19 17:37:42 +01:00
kleonc 3e373c4eec Add `ShapeCast2D/3D::get_collider_rid` method 2022-11-02 15:20:13 +01:00
Haoyu Qiu 78981d2e0a Make NavigationAgent `target_location` a property 2022-10-31 20:46:38 +08:00
Sam Briels 3e186ae043 fix: emit target_reached signal after updating state 2022-10-31 13:04:20 +01:00
Rémi Verschelde 90f6baf26c Merge pull request #66155 from KoBeWi/animat3d_diff
[3.x] Don't store frame of playing AnimatedSprite
2022-10-03 13:58:28 +02:00
Haoyu Qiu fba5a4ab9a Fix NavigationObstacle not registering to default navigation map 2022-09-28 15:49:26 +08:00
smix8 881e49c375 Fix TileMaps with origin offset placing NavPolygons wrong without a Navigation2D node
The legacy navigation was positioning baked TileMap navpolygons relative to the current Navigation2D node assuming that it is usually one of the parent nodes.

Without the deprecated Navigation2D node the default navigation map of the world_2d is used. This navigation map has no relative Node2D so it needs to use the global_transform of the TileMap to place navregions with the correct offset in case the TileMap is moved from the origin.
2022-09-22 17:14:51 +02:00
kobewi dbce96abd9 Don't store frame of playing AnimatedSprite 2022-09-20 13:11:50 +02:00
lawnjelly fdd82f4754 CPUParticles initialize data on set_amount
Fills particle data with zeroes on resize using set_amount(), to prevent garbage data including Nans being sent to VisualServer, which can corrupt the spatial partitioning.
2022-09-19 16:53:01 +01:00
lawnjelly 54a939a029 Low priority redraw request for AnimatedSprite
Prevents animated sprite from creating continuous redraws in vital_redraws_only mode.
2022-09-11 19:09:07 +01:00
Rémi Verschelde 747d30d567
Merge pull request #64372 from smix8/navigation_fix_obstacles_default_map_3.x 2022-08-30 11:01:30 +02:00
Rémi Verschelde fd08545a59
Merge pull request #64579 from marcinn/backport-panning-strength
[3.x] Backport panning strength parameters from 4.0
2022-08-24 23:55:28 +02:00
Marcin Nowak 90762b9660 [3.x] Backport panning strength parameters from 4.0 2022-08-23 23:27:51 +02:00
Yuri Sizov 39f46613bb Backport fixes to documentation for paths, curves and navigation servers 2022-08-19 15:52:03 +03:00
smix8 47b39ce4c2 Fix NavigationObstacle nodes not registering to default navigation map
Fix NavigationObstacle nodes not registering to default navigation map.
2022-08-13 19:46:12 +02:00
Cory Petkovsek f7f112ab1f Fix free(RID) abuse by various classes 2022-08-11 02:31:00 +08:00
Josh Jones 9d1a972b49 Fix typo when setting NavigationRegion travel_cost
(cherry picked from commit 8c324132d0)
2022-08-08 09:51:45 +02:00
smix8 30d4555c65 Fix TileMap error msg when optional navigation node is not set
Fixes TileMap error msg spam when bake_navigation=true but the optional and depr navigation node is not set.
2022-08-06 21:58:47 +02:00
Rémi Verschelde ab7e2564f3
Merge pull request #63659 from PrecisionRender/add-shape-cast-3d
[3.x] Add `ShapeCast` and `ShapeCast2D` nodes
2022-08-06 00:33:29 +02:00
Rémi Verschelde 906a693934
Merge pull request #53852 from Calinou/particles-allow-negative-scale
Allow negative scale in Particles and CPUParticles
2022-08-05 22:34:43 +02:00