Commit Graph

92 Commits

Author SHA1 Message Date
Thaddeus Crews bbc7150c95 Merge pull request #117861 from QbieShay/qbe/fix-angular-velocity
Particles: Fix angular velocity
2026-04-08 09:25:34 -05:00
Thaddeus Crews a0e5996d82 Merge pull request #118062 from QbieShay/qbe/fix-subemitter-velocity
Fix subemitted particles not taking parent velocity into account
2026-04-06 13:02:08 -05:00
Qbieshay b84b20ae96 Fix subemitted particles not taking parent velocity into account
Co-authored-by: Patrick Exner (FlameLizard) <patrick.exner1@web.de>
2026-04-05 18:16:59 +02:00
Ryan 2f699467d0 Add “Inherit Emitter Scale” flag to ParticleProcessMaterial
Used for scaling particles from the GPUParticles3D/2D node’s scale.

Disabled by default to keep compatibility.
2026-03-26 12:52:13 -04:00
Qbieshay c44cfcd77f Fix angular velocity 2026-03-26 14:29:58 +01:00
Qbieshay 113ace0cd3 Add options for billboarding on GPUParticles3D
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2026-03-19 16:10:20 +01:00
Qbieshay 731d492e6a Added scale3d and rotation3d in particle process
co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Co-authored-by: Skyth (Asilkan) <19259897+blueskythlikesclouds@users.noreply.github.com>
2026-03-18 11:15:59 +01:00
Thaddeus Crews 220b0b2f74 Merge pull request #113509 from QbieShay/qbe/yolo-userdata-velocity
Store velocity in userdata, use VELOCITY to pass to copy shader
2026-03-06 12:40:38 -06:00
Qbieshay b2b4c04ac0 Store velocity in userdata, use VELOCITY to pass to copy shader 2026-03-06 16:35:33 +01:00
Rémi Verschelde 765362b033 Explicitly include core/config/engine.h where used 2026-03-04 10:17:10 +01:00
Thaddeus Crews e380a41752 Style: Add class_db.h includes explicitly 2026-02-26 15:50:28 -06:00
Rémi Verschelde f5a290ac46 Move RenderingServer enums to a dedicated RenderingServerEnums (RSE) namespace
A number of headers in the codebase included `rendering_server.h` just for
some enum definitions. This means that any change to `rendering_server.h` or
one of its dependencies would trigger a massive incremental rebuild.

With this change, we decouple a number of classes from `rendering_server.h`,
greatly speeding up incremental rebuilds for that area.

On my machine, this reduces incremental compilation time after an edit of
`rendering_server.h` by 60s (from 2m57s).
2026-02-25 19:43:03 +01:00
kobewi 6f86914f55 Cleanup _validate_property() implementations 2026-02-23 15:05:25 +01:00
Thaddeus Crews ba5a0758e9 Revert "Change curve range for particle multipliers"
This reverts commit c6021f1e5b.
2026-02-10 09:58:58 -06:00
Lukas Tenbrink c5df0cb82b Don't right-align escaped newlines, e.g. for #define. This has previously led to long diffs in the commit history. 2026-02-04 19:31:28 +01:00
kobewi f7b9703cbd Use actual class names in resource type hints 2026-01-29 21:07:56 +01:00
aXu-AP c6021f1e5b Change curve range for particle multipliers
Fixes #91404
Curves are applied as a multiplier, so ranges [-1, 1] or [0, 1] make much more sense than ranges like [-360, 360] or [0, 100]. The actual range is selected with separate min and max parameters.
2025-12-03 20:47:40 -06:00
Thaddeus Crews f1f3f06843 Merge pull request #97871 from AtlaStar/fix-issue-97680
Fix NaN populating ParticleProcessMaterial Transform
2025-10-28 12:19:26 -05:00
Aaron Franke 9fbf5808a0 Rename server "free" functions to "free_rid" to match exposed API 2025-09-30 16:52:25 -07:00
Haoyu Qiu a7ab249a2a Make PROPERTY_HINT_GROUP_ENABLE hide properties by default 2025-06-16 20:03:49 +08:00
LuoZhihao 8ba4656ea3 Compile out editor-only logic within validate_property in games 2025-06-12 12:54:19 +08:00
Dario 5a30a7e7cd Add shader baker to project exporter.
Metal Support contributed by Migeran (https://migeran.com) and Stuart Carnie.

Co-authored-by: Stuart Carnie <stuart.carnie@gmail.com>
Co-authored-by: Gergely Kis <gergely.kis@migeran.com>
2025-05-27 12:45:27 -03:00
Logan Detrick 1a427d3dec Add feature hint string and "On" text for checkable groups 2025-05-21 14:56:55 -07:00
Thaddeus Crews 3947cbe3b2 Merge pull request #104386 from Repiteo/core/cpp-math
Core: Replace C math headers with C++ equivalents
2025-04-27 19:21:22 -05:00
Thaddeus Crews ad40939b6f Core: Replace C math headers with C++ equivalents
- Minor restructuring to ensure `math_funcs.h` is the central point for math functions
2025-04-16 15:49:02 -05:00
cier ebe9370724 Add enable checkboxes to editor sections
Fixes https://github.com/godotengine/godot-proposals/issues/4173
2025-04-15 13:49:41 -07:00
Aaron Franke 97ee05e9b7 Rename version defines to GODOT_VERSION_* to match GDExtension godot-cpp 2025-03-12 11:11:38 -07:00
Rémi Verschelde b408ce7a64 Merge pull request #103121 from OhiraKyou/fix-gpu-particle-zero-scale
Fix GPU particles not emitting at some configured rates when scale curve is zero
2025-03-04 01:00:43 +01:00
Evan Todd 87efa4d210 Fix particle jitter when scene tree is paused. 2025-02-27 08:40:40 -08:00
OhiraKyou 8df75953ec Fix GPU particles not emitting at some amounts when scale curve is zero 2025-02-25 19:36:08 -05:00
Rémi Verschelde 1e1f54e954 Merge pull request #100050 from YeldhamDev/sub_emitter_at_start
Add "At Start" mode for sub-emitter particles
2025-01-14 18:29:20 +01:00
Timo Schwarzer 87767f7c34 Fix ParticleProcessMaterial not using same offsets for emission textures 2025-01-05 23:32:22 +01:00
Rémi Verschelde d484e23bce Merge pull request #100113 from paddy-exe/particle-emission-shape-visual-separate-pr
Add visualization of 3D particle emission shapes
2025-01-03 00:48:22 +01:00
Patrick Exner e689c122a6 Add visualization of 3D particle emission shapes
Co-authored-by: Kasper Arnklit Frandsen <kasper.arnklit@gmail.com>
2024-12-28 19:56:50 +01:00
Thaddeus Crews 9ecdeb3723 Merge pull request #98747 from tetrapod00/standardize-renderer-strings
Standardize terms for renderers in error strings
2024-12-13 16:19:37 -06:00
Pedro J. Estébanez 4bfc6f8d70 Fix deadlock possibility in threaded load of materials 2024-12-13 12:49:10 +01:00
Michael Alexsander eb5839dcbb Add "At Start" mode for sub-emitter particles 2024-12-05 11:48:34 -03:00
tetrapod00 899f5151c3 Standardize terms for renderers in error strings
Use "Forward+", "Mobile", "Compatibility", and "renderer" or "rendering method".
2024-11-10 13:30:44 -08:00
Derrick Melton c1b067f83c Fix NaN populating ParticleProcessMaterial Transform
Use of normalize will cause transform matrix slices to be populated with NaN when the scale value was zero on the previous compute step.

Resolves this bug by adding a `normalize_or_else` function. Parameters are `_in`, and `_else`, with the former being the argument to test to see if it is a zero vec3, and the latter the vec3 to use in the event of `_in` being the zero vec.

closes #97680
closes #97621
2024-10-10 16:11:45 -07:00
Dario e2c6daf7ef Implement asynchronous transfer queues, thread guards on RenderingDevice. Add ubershaders and rework pipeline caches for Forward+ and Mobile.
- Implements asynchronous transfer queues from PR #87590.
- Adds ubershaders that can run with specialization constants specified as push constants.
- Pipelines with specialization constants can compile in the background.
- Added monitoring for pipeline compilations.
- Materials and shaders can now be created asynchronously on background threads.
- Meshes that are loaded on background threads can also compile pipelines as part of the loading process.
2024-10-02 15:11:58 -03:00
Kasper Arnklit Frandsen 40b9516724 Add cone angle control to particle emission ring shape 2024-09-02 14:35:51 +02:00
Flyn San 67b16f261f Fix code style for generated shader code from ParticleProcessMaterial
The results now match what our clang-format config would do.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-05-31 14:12:41 +02:00
Rémi Verschelde ca2ed80539 Merge pull request #87320 from Rudolph-B/main
Fix collided particles getting stuck with zero velocity.
2024-05-15 12:09:27 +02:00
Rudolph Bester 45e5b151b6 Fixed collided particles getting stuck with zero velocity. 2024-05-14 18:55:56 +02:00
Rémi Verschelde de329556f7 Merge pull request #91449 from Arnklit/particles-emission-ring-shape-fix2
Fix sqrt application for radius in particle ring emission
2024-05-14 18:09:47 +02:00
Kasper Arnklit Frandsen 94eefe168a Fix sqrt application for radius in particle ring emission 2024-05-14 12:22:21 +01:00
Pedro J. Estébanez 187e5ef258 Let materials' shaders update happen on loader threads 2024-05-06 19:40:00 +02:00
Rémi Verschelde 5a63d1db41 Merge pull request #91223 from Arnklit/particle-cylinder-emission-distribution-fix
Fix particle cylinder emission shape random distribution
2024-05-01 09:55:06 +02:00
Rémi Verschelde 3cb9e84cde Merge pull request #85189 from QbieShay/qbe/fix-emission-at-end
Correctly emit sub-emitter's emission at the end
2024-05-01 09:54:38 +02:00
Kasper Arnklit Frandsen af22d504da Fix particle cylinder emission shape random distribution 2024-04-30 17:24:58 +01:00