Commit Graph

3584 Commits

Author SHA1 Message Date
lawnjelly c61a5edd7e Document that `Input.is_action` should not be used during input-handling
In most cases `InputEvent.is_action*` is more appropriate during input-handling.
2024-09-28 07:15:31 +01:00
Yuri Rubinsky 5d1e7e509d [3.x] Implement glow map effect 2024-09-24 20:47:32 +03:00
Rémi Verschelde 32ddd4f4e0
Doctool: Remove version attribute from XML header
We don't use that info for anything, and it generates unnecessary diffs
every time we bump the minor version (and CI failures if we forget to
sync some files from opt-in modules (mono, text_server_fb).

(cherry picked from commit 81064cc239)
2024-09-11 12:41:48 +02:00
lawnjelly fc78fa7ec5 ImageTexture - document workaround for mipmap generation 2024-06-27 17:04:02 +01:00
lawnjelly d80b206643 Physics Interpolation - refactor client interpolation pump
* Move client interpolation pump to earlier in the iteration before 3D physics synced
* Allow `get_global_transform_interpolated()` to prime the client interpolation inside a physics tick
2024-06-19 08:44:33 +01:00
lawnjelly 0b30d77384 Physics Interpolation - refactor `Camera` and fix `get_camera_transform()`
* Moves 3D Camera interpolation scene side.
* Automatically switches `get_camera_transform()` to report interpolated transform during `_process()`.
* Fixes `ClippedCamera` to work with physics interpolation.
2024-06-09 12:08:27 +01:00
lawnjelly 0f5cadfb56 Fix Viewport interpolation mode
Viewport interpolation mode is a special case, which should be set to ON instead of INHERIT.
2024-05-20 10:28:58 +01:00
Frederick Kramer Dal Pra 20646810ae
Fix typo in @GlobalScope.xml
"inteters" instead of "integers"
2024-05-15 11:49:48 -07:00
Rémi Verschelde e66b52989d
doc: Fix cherry-pick mistake for Vector3.cross description 2024-05-01 12:22:02 +02:00
A Thousand Ships a9988c5501
[Doc] Clarify the behavior of `Vector2/3.cross` and mention parallel vectors
(cherry picked from commit 47a8033698)
2024-05-01 12:07:21 +02:00
Rémi Verschelde d7e2a6f525
Merge pull request #88186 from Cammymoop/backport-shape-index-docfix
[3.x] Backport code snippet correct usage of shape index in class docs
2024-04-25 12:50:21 +02:00
lawnjelly d56d1ff4d2 Deprecate NOTIFICATION_MOVED_IN_PARENT
* NOTIFICATION_MOVED_IN_PARENT makes node children management very inefficient.
* Replaced by a NOTIFICATION_CHILD_ORDER_CHANGED (and children_changed signal).
* Most of the previous tasks carried out by NOTIFICATION_MOVED_IN_PARENT are now done not more than a single time per frame.

This PR breaks compatibility (although this notification was very rarely used, even within the engine), but provides an alternate way to do the same.
2024-04-20 07:52:05 +01:00
Haoyu Qiu ed952f82bd Add is_zero_approx methods to Vector{2,3} 2024-04-10 19:02:42 +08:00
Haoyu Qiu fe65682937 Add Node.is_node_ready 2024-04-08 17:44:23 +08:00
lawnjelly 1a9b5b7c99
Merge pull request #88345 from SysError99/3.x-get_or_add
[3.x] Add a `get_or_add` method to Dictionary
2024-04-04 13:04:16 +01:00
lawnjelly 75cadbabcb
Merge pull request #81089 from SysError99/3.x-dont-warm-about-return-value-discarded
[3.x] GDScript: Don't warn about `RETURN_VALUE_DISCARDED` by default
2024-04-04 13:02:22 +01:00
Rémi Verschelde ae7dfd1f13
Merge pull request #85437 from lawnjelly/lod_scene_side
[3.x] Discrete Level of Detail
2024-03-08 17:53:58 +01:00
Aleksey Kapustyanenko 99c8cd2b17 Rotary input for 3.x 2024-02-18 22:25:10 +04:00
SysError99 b3f93ad127 [3.x] Add a `get_or_add` method to Dictionary
Co-authored-by: Aaron Franke <arnfranke@yahoo.com>
2024-02-15 19:49:43 +07:00
Charlie Burnham 51681ed501 Backport fix documentation about body_shape_index 2024-02-10 17:39:54 -06:00
lawnjelly 1b5fa74e39 Discrete Level of Detail
Add scene side discrete level of detail.

New node `LOD` for UI, and `LODManager` within `World` for automatically updating child visibilities based on distance from cameras.
2024-02-10 18:54:25 +00:00
Ansraer b9cbffd957 add ORMSpatialMaterial 2024-02-08 20:34:11 +01:00
lawnjelly 0aa22b8f13 Vertex cache optimizer
Optimizes indices to make good use of vertex cache on GPU.
2024-02-07 09:35:50 +00:00
Rémi Verschelde e96ebf9218
Merge pull request #61568 from lawnjelly/merge_node
[3.x] Add MergeGroup node to simplify merging Meshes at runtime
2024-02-07 09:49:45 +01:00
Rémi Verschelde dc776e46b6
Merge pull request #60246 from Calinou/directional-light-add-fade-start-3.x
[3.x] Backport DirectionalLight `fade_start` property
2024-02-07 09:49:21 +01:00
Rémi Verschelde 6f8d35138b
Merge pull request #87920 from kleonc/image-doc-unlocking-methods-3x
[3.x] Document some `Image` methods can unlock it (making `set_pixel` fail)
2024-02-07 09:41:46 +01:00
Rémi Verschelde 5eeb4f220d
Merge pull request #87713 from lawnjelly/portal_include_in_bound
[3.x] Portals - include in bound and special cases in start room
2024-02-07 09:41:22 +01:00
Rémi Verschelde 273d5897a0
Merge pull request #85229 from ztc0611/3.x-ios-add-pause-resume-notifs
[3.x] Enhance mobile suspend MainLoop notifications
2024-02-07 09:40:13 +01:00
Rémi Verschelde 862d63e9f7
Merge pull request #81559 from matorin57/3.x-backport-finished-singal-GPU-particles
[3.x] Backport "Add `finished` signal to GPUParticles"
2024-02-07 09:39:49 +01:00
Rémi Verschelde 60b34ed67d
Merge pull request #81426 from Rubonnek/expose-inspector-methods
[3.x] Expose `EditorInspector::get_edited_object` to GDScript
2024-02-07 09:39:24 +01:00
kleonc d0f9fe2ac5 [3.x] Document some Image methods can unlock it (making `set_pixel` fail) 2024-02-04 02:30:45 +01: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
20kdc 2f03ba77e9 Fix the documentation of Bone2D::apply_rest (squashed, backport)
Co-authored-by: Micky <66727710+Mickeon@users.noreply.github.com>
2024-01-30 12:13:02 +00:00
Rémi Verschelde 8b3eb38791
Merge pull request #87677 from Mickeon/3.x-oooh-Reduz-of-the-past-You're-so-quirky
[3.x] Mention InputEventJoypadButton's pressure not working
2024-01-29 23:29:49 +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 1aa4c2fed1
Merge pull request #86642 from Mickeon/3.x-doc-peeves-resourceful-uh-oh-stinky
[3.x] Rewrite most of Resource's documentation
2024-01-29 23:28:42 +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
Micky 9b1f1d5b6e [3.x] Mention InputEventJoypadButton's pressure not working 2024-01-28 15:00:38 +01:00
SysError99 99284482bc [3.x] Add `SceneTree::get_first_node_in_group` following 4.x 2024-01-26 21:26:40 +07:00
Rémi Verschelde f706a3bd54
Web: Clarify that `OS.get_unique_id` is not supported
Remove the base error message in `OS`, we no longer really error out this
way for not implemented methods. Instead, each platform should override them
to provide the context they want.

Fixes #82439.

(cherry picked from commit 0a10f09ce4)
2024-01-18 16:19:43 +01:00
Rémi Verschelde 4126326197
Merge pull request #83409 from jfriv/add-audiosession-options
[3.x] Add project settings for AVAudioSessionCategory on iOS
2024-01-10 13:37:22 +01:00
Cody Roberts 739d27ae40
Add project settings for AVAudioSessionCategory on iOS
Co-authored-by: Georg Wacker <contact@georgwacker.com>
2024-01-10 13:33:11 +01:00
DylanCheetah bc93cad7f9
Implement UWP version of `OS.get_unique_id` function. 2024-01-10 13:25:28 +01:00
Micky 1dee97a842 [3.x] Rewrite most of Resource's documentation 2024-01-05 11:36:02 +01:00
Rémi Verschelde 4c4cb12e38
Merge pull request #84409 from m4gr3d/add_android_gestures_project_settings
[3.x] Add Android project settings for gesture support
2023-12-13 13:24:35 +01:00
Aaron Franke ab9ed3245d
[3.x] Add "position" as an alias for "translation" in Spatial 2023-12-05 17:25:48 -06:00
Zach Coleman ffe86eef04 [iOS] Add APP_PAUSED and APP_RESUMED MainLoop notifications 2023-11-22 12:03:53 -05: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