Commit Graph

124 Commits

Author SHA1 Message Date
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
Qbieshay 3a66d88be2 Fix CPUParticle3D not randomizing 2025-11-07 17:23:40 +01:00
Lukas Tenbrink 33689d7beb Remove transitive mesh.h, rendering_server.h and shader.h includes from node.h. 2025-10-08 12:16:52 +02:00
Aaron Franke 9fbf5808a0 Rename server "free" functions to "free_rid" to match exposed API 2025-09-30 16:52:25 -07:00
Qbieshay b93f6fa1ba Fix particles resetting properties when emitting is toggled 2025-06-24 12:16:42 +02:00
LuoZhihao 8ba4656ea3 Compile out editor-only logic within validate_property in games 2025-06-12 12:54:19 +08:00
lawnjelly ae04a3a5dd Physics Interpolation - Move 3D FTI to SceneTree
Moves 3D interpolation from server to the client code (`SceneTree`).
Complete rework of 3D physics interpolation, but using the same user API.
2025-04-26 14:13:30 +01:00
Thaddeus Crews 94282d88f9 Core: Use Math namespace for constants 2025-04-10 16:29:30 -05:00
Yufeng Ying 4f4031a675 Replace size() == 0 with is_empty(). 2025-04-02 19:18:43 +08:00
Qbieshay 419e5c40fa Fix particle not re-randomizing every emission 2025-02-20 19:25:05 +01:00
Qbieshay 2f3f6f69d9 Fix seed not randomizing for particles. Fix seed being stored when fixed seed is off 2025-02-04 12:17:21 +01:00
Qbieshay c8b0509b7c Fixed cpuparticles randomness regression caused by #92089 2025-01-21 13:23:55 +01:00
Rémi Verschelde 133db1fd60 Merge pull request #92089 from QbieShay/qbe/particle_seek
Implement particle seek request and seed options.
2025-01-13 20:21:28 +01:00
QbieShay e9eb0b6082 Implemented tools around particles seed randomization.
The purpose of this code is to expose the necessary
functions for users and engine devs to develop tooling
for properly timing and seeking inside particles.

Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Co-authored-by: Tomasz Chabora <kobewi4e@gmail.com>
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2025-01-11 16:31:24 +01:00
Rémi Verschelde bf2548463a Merge pull request #101012 from zachseiss/master
Preserve emission ring shape properties during conversion from GPUParticles3D to CPUParticles3D and vice versa
2025-01-06 22:48:20 +01:00
Zach Seiss 86ab88f016 added preservation of emission ring properties during conversion from GPUParticles3D to CPUParticles3D and vice versa 2025-01-03 07:47:06 -05: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
A Thousand Ships a1846b27ea Improve use of Ref.is_null/valid
Use `is_null` over `!is_valid` and vice versa.
2024-12-23 16:35:02 -05:00
Yufeng Ying 73d85f46c9 Remove unused headers in scene.
Co-authored-by: Thaddeus Crews <repiteo@outlook.com>

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-12-24 00:40:09 +08:00
clayjohn f2a993aa1d Reduce slider range for Particles preprocess to discourage setting a preprocess time of 10 minutes 2024-12-13 11:36:36 -08:00
A Thousand Ships f6ea6cdb67 Fix some invalid int property ranges
* `HeightMapShape3D` had ranges configured for `float` instead of `int`
* Particles had `amount` that used `exp` which is not supported, added
  note
2024-11-23 19:17:29 +01:00
Thaddeus Crews 37305e40bc Merge pull request #95711 from TokageItLab/warn-oneshot-prop
Add hint for oneshot property & warning when it will be updated continuously by Force Continuous in `AnimationMixer`
2024-11-22 14:54:30 -06:00
Silc Lizard (Tokage) Renew 761a20f7a7 Add hint for oneshot & warning when it will be updated continuously 2024-11-11 01:12:45 +09:00
kobewi a4d724b37c Unify particle editors 2024-10-04 22:36:12 +02:00
Kasper Arnklit Frandsen 40b9516724 Add cone angle control to particle emission ring shape 2024-09-02 14:35:51 +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
kobewi 413c11357d Use Core/Scene stringnames consistently 2024-05-13 23:41:07 +02:00
kobewi a262d2d881 Add shorthand for using singleton string names 2024-05-11 18:53:08 +02:00
Rémi Verschelde 16eb8dbdc0 Merge pull request #89595 from apples/89559-cpuparticles3d-angle-rotate_y-fix
Fix `CPUParticles3D` using angle incorrectly when `ROTATE_Y` is set.
2024-05-06 15:14:53 +02:00
Kasper Arnklit Frandsen af22d504da Fix particle cylinder emission shape random distribution 2024-04-30 17:24:58 +01:00
Kasper Frandsen f8d08a8376 fix: avoid shader crash on null vector and negative x vector 2024-04-17 17:33:30 +01:00
QbieShay 1d81068be7 Fixed INSTANCE_CUSTOM.w not being assigned correctly in CPUParticles 2D and 3D 2024-04-01 14:00:40 +02:00
Apples a002b212df Fixed CPUParticles3D using angle incorrectly when ROTATE_Y is set. 2024-03-17 01:07:10 -05:00
Arman Elgudzhyan c41725c9c6 Removed unnecessary AABB initialization for CPUParticles
Setting an AABB manually for CPUParticles unnecessarily registers as a custom AABB and can cause issues on some platforms and hardware.
2024-02-20 09:48:18 -08:00
Rémi Verschelde 21f0529aa9 Revert "Update Node::get_configuration_warnings signature"
This reverts commit d3852deaa4.
2024-02-17 19:03:21 +01:00
Arman Elgudzhyan ec6518d9cd Custom ("visiblity") AABB support for CPUParticles
- Improves performance by reducing time spent on AABB generation.
- Also adds an option to generate the AABB manually in the CPUParticles3D dropdown.
2024-02-15 22:37:07 -08:00
RedMser d3852deaa4 Update Node::get_configuration_warnings signature 2024-02-08 23:05:20 +01:00
Hendrik Brucker 7e21eb7e00 Extract and reorganize texture resource classes 2023-07-14 20:04:21 +02:00
HolonProduction a1c0d206e8 Add finished signal to CPUParticles 2023-07-12 13:45:02 +02:00
Ninni Pipping dcd2b883eb Use NULL instead of COND checks when appropriate
Restricted to scene
2023-06-10 08:56:30 +02:00
Hugo Locurcio fc4ec42a09 Increase precision in particle damping properties in the editor 2023-06-07 15:26:02 +02:00
clayjohn 821917ba9f Use angle_rand to calculate base_angle in particles process material 2023-04-13 15:10:47 -07:00