1
0
Fork 0
Commit Graph

307 Commits

Author SHA1 Message Date
lawnjelly dedf461674 Add blob shadows feature
BlobShadow node (sphere or capsule)
BlobFocus
Backends for GLES2 and GLES3
2025-10-01 06:37:54 +01:00
lawnjelly d0dbb2f0af
Merge pull request #108382 from Faless/mbedtls/3.x_update_to_mbedtls_3.6.4
[3.x] mbedTLS: Update to mbedTLS 3.6.4
2025-09-13 10:29:56 +01:00
Fabio Alessandrelli 0770c9a4a3 mbedTLS: Update to mbedTLS 3.6.4
mbedTLS 2.28 is now EOL, and will no longer receive security updates.

This commit backports from Godot 4 the changes needed to update to
mbedTLS 3.6 (new LTS), including TLSv1.3 support.
2025-07-07 17:18:44 +02:00
Pāvels Nadtočajevs 62e7304ffe
[3.x] Backport nonexclusive fullscreen mode. 2025-06-16 11:31:50 +03:00
lawnjelly d164443cd3 Add ability to mute AudioServer.
Adds the option to change the audio driver to the Dummy driver and back at runtime, with a set of MuteState flags - Disabled (user control), Silence (period of silence), Focus Loss (when app is not in focus), and Paused (when app is paused).

Control for the flags is added for the editor in EditorSettings, and for the project in ProjectSettings.

Editor defaults to muted (Dummy driver) when there is no audio output, and automatically switches to active on output. This significantly reduces CPU usage.
2025-06-10 16:53:58 +01:00
lawnjelly 65eb3a2e31 FTI - Optimize `SceneTree` traversal 2025-05-24 18:26:25 +01: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 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
Aleksey Kapustyanenko 99c8cd2b17 Rotary input for 3.x 2024-02-18 22:25:10 +04:00
Ansraer b9cbffd957 add ORMSpatialMaterial 2024-02-08 20:34:11 +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
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
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
Fredia Huya-Kouadio e9045a6d03 Add Android project settings for gesture support
- Include project setting to enable long press for Android devices
- Include project setting to enable pan and scale gestures on Android devices
2023-11-03 05:25:18 -07:00
Hugo Locurcio f84a202235
Mark debugger limits settings as requiring a restart
These settings are only read once on engine initialization.
2023-09-16 00:31:35 +02:00
SysError99 2b3d52a7d0 [3.x] Don't warn about `RETURN_VALUE_DISCARDED` by default 2023-08-29 02:47:33 +07: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
lawnjelly 63d208d1b0 Input - fix just pressed and released with short presses
Previously if an action was both pressed and released on the same tick or frame, `is_action_just_pressed()` would return false, resulting in missed input.

This PR separately the timestamp for pressing and releasing so each can be tested independently.
2023-06-12 16:33:48 +01:00
bruvzg 18ee8da7d6
Add audio/general/text_to_speech project setting to enable/disable TTS. 2023-05-26 20:57:29 +03: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
Hugo Locurcio d20305a718
Improve documentation related to ubershaders in ProjectSettings 2023-04-25 19:03:49 +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 5f1e7e6fbc Make MessageQueue growable
* Uses simple vector resizing (po2)
* Uses pair of read and write buffers
2023-03-31 10:07:56 +01: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
Travis Veralrud 28b11a0785 iOS: Fix memory leak on touch input
Replaces iOS gesture with touch implementation

Fixes #66422

Remove godot_view_gesture_recognizer

It's now unused.

Remove input_devices/pointing/ios/touch_delay

Unused with removal of gesture.

Remove unused methods from interface

Implementation made obsolete in prior commit

Style conformance
2023-02-15 21:38:55 -08:00
Hugo Locurcio 65465f309c
Add a project setting to make the root viewport transparent
This allows creating a project with a transparent window without having
to write any script.
2022-12-18 00:38:05 +01:00
Hugo Locurcio 4475a93736
Document debanding only affecting 3D rendering by default 2022-12-12 11:01:26 +01:00
Rémi Verschelde 92aedd5063
Merge pull request #68190 from ztc0611/3.x-ios-promotion
[3.x] Add ProMotion/High Refresh Rate Support to iOS Exports
2022-11-03 11:34:22 +01:00
Zach Coleman e538771d4f [3.x] Add ProMotion Support to iOS Exports 2022-11-02 22:14:34 -04:00
Zach Coleman 5e7b0e3a61 [3.x] Add iOS UI Options 2022-11-02 22:13:18 -04:00
Hugo Locurcio ac31fac9a5
Improve documentation related to audio input permissions 2022-09-03 01:36:55 +02:00
Rémi Verschelde 6358e41772
Merge pull request #64838 from akien-mga/3.x-cherrypicks
Cherry-picks for the 3.x branch (future 3.6) - 2nd batch
2022-08-25 00:51:19 +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
Danil Alexeev bf33de769a Add boot splash display time setting
Implements #8867.

(cherry picked from commit dad9683d11)
2022-08-24 17:30:00 +02:00
Marcin Nowak 90762b9660 [3.x] Backport panning strength parameters from 4.0 2022-08-23 23:27:51 +02:00
Hugo Locurcio d2ef3bf8a6
Improve documentation related to anisotropic filtering 2022-08-22 18:40:40 +02:00
Rémi Verschelde 0a8d5d7098 Bump version to 3.6-beta 2022-08-05 18:51:38 +02:00
Rémi Verschelde df70aa1772
Merge pull request #57566 from Calinou/viewport-shadow-atlas-clamp-sizes 2022-07-03 03:08:03 +02:00
Pedro J. Estébanez f971c886fa Add safe defaults for async shader compilation 2022-06-28 11:50:38 +02:00
Rémi Verschelde acd4a01b8c ProjectSettings: Ensure 'editor/' settings aren't nested
Having a mix of settings with and without subcategory makes the 'Editor'
section stand out with a weird UX, as instead of simply being a foldable
section like the others, it also holds its own top-level settings and is
therefore selectable.

This wasn't the case in 3.4, and is fixed in 4.0 by refactoring, so for
3.5 we should preserve the 3.4 UX, even if it's not the best.
2022-06-19 11:47:19 +02:00
Hugo Locurcio bec892c010 Tweak default crash handler message in exported projects
When an exported project crashes, the crash handler message
shouldn't reference the Godot issue tracker, as not all crashes
are Godot's fault.

Reporting crashes that only occur on exported projects is still allowed,
but it should not be done by people who aren't working on the project
in question.

(cherry picked from commit c850ccb7c0)
2022-06-16 10:16:32 +02:00
Rémi Verschelde 4e7363cac7
Merge pull request #61996 from smix8/navigation_bp_update_3.x
[3.5] Update NavigationServer backport
2022-06-16 00:17:16 +02:00
smix8 8bd7c6188b [3.5] Update NavigationServer backport
Backports features and bugfixes from current Godot 4.0 to 3.5 and brings functions and codebase of both version largely in sync to make tutorials more compatible and future backports easier.
2022-06-14 05:55:14 +02:00
Hugo Locurcio 70d8e71b0e
Enable asynchronous shader compilation + cache by default in GLES3
This reduces stuttering when a material is displayed for the first
time, and prevents stuttering from occurring entirely after the
project is restarted when a similar situation is encountered.
2022-06-13 16:32:19 +02:00
smix8 96d98d8c4e Backport default World navigation maps
Backports default navigation maps created with each World or World2D.
2022-06-09 14:05:39 +02:00
lawnjelly ad9b2b3794 Physics Interpolation - add helper warnings
When physics interpolation is active on a node, it is essential that transforms are updated during "_physics_process()" rather than "_process()" calls, for the interpolation to give the correct result.

This PR adds optional warnings for instances, cameras and multimeshes which can flag updates being incorrectly called, and thus make these problems much easier to fix.
2022-04-26 13:56:02 +01:00
Fredia Huya-Kouadio a3b445d7e8 Remove duplicate `resizable` settings
(cherry picked from commit f1a7caf9bb)
2022-04-13 11:43:49 +02:00
Haoyu Qiu bba6d18973 Add missing period in classref of 3D render layer 2022-04-05 09:43:38 +08:00
Hugo Locurcio 4e6dfac969
Improve documentation related to 3D material vertex lighting 2022-03-31 18:11:18 +02:00
Hugo Locurcio b087538119
Add an XML schema for documentation
This makes it easier to spot syntax errors when editing the
class reference. The schema is referenced locally so validation
can still work offline.

Each class XML's schema conformance is also checked on GitHub Actions.
2022-03-16 23:01:02 +01:00