summaryrefslogtreecommitdiffstats
path: root/scene/3d/gpu_particles_3d.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fix copyright headers referring to GodotSpartan3222024-10-271-2/+2
|
* Rebrand preambles to RedotSpartan3222024-10-131-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | (cherry picked from commit e8542b06acca3c1bdeee4b528411771f0819f084) Credits: Co-authored-by: Skogi <skogi.b@gmail.com> Co-authored-by: Spartan322 <Megacake1234@gmail.com> Co-authored-by: swashberry <swashdev@pm.me> Co-authored-by: Christoffer Sundbom <christoffer_karlsson@live.se> Co-authored-by: Dubhghlas McLaughlin <103212704+mcdubhghlas@users.noreply.github.com> Co-authored-by: McDubh <103212704+mcdubhghlas@users.noreply.github.com> Co-authored-by: Dubhghlas McLaughlin <103212704+mcdubhghlas@users.noreply.github.com> Co-authored-by: radenthefolf <radenthefolf@gmail.com> Co-authored-by: John Knight <80524176+Tekisasu-JohnK@users.noreply.github.com> Co-authored-by: Adam Vondersaar <adam.vondersaar@uphold.com> Co-authored-by: decryptedchaos <nixgod@gmail.com> Co-authored-by: zaftnotameni <122100803+zaftnotameni@users.noreply.github.com> Co-authored-by: Aaron Benjamin <lifeartstudios@gmail.com> Co-authored-by: wesam <108880473+wesamdev@users.noreply.github.com> Co-authored-by: Mister Puma <MisterPuma80@gmail.com> Co-authored-by: Aaron Benjamin <lifeartstudios@gmail.com> Co-authored-by: SingleError <isaaconeoneone@gmail.com> Co-authored-by: Bioblaze Payne <BioblazePayne@gmail.com>
* Use Core/Scene stringnames consistentlykobewi2024-05-131-1/+0
|
* Add shorthand for using singleton string nameskobewi2024-05-111-1/+1
|
* Revert "Update Node::get_configuration_warnings signature"Rémi Verschelde2024-02-171-2/+2
| | | | This reverts commit d3852deaa450d77edb30df2bb1c77bd7bc45befc.
* Update Node::get_configuration_warnings signatureRedMser2024-02-081-2/+2
|
* Make ShaderMaterial always the last option in inspector resource dropdownsHugo Locurcio2024-02-051-1/+1
| | | | | | | | | ShaderMaterial is the "advanced" option, while the "basic" options should be listed first for easier accessibility (and because they're generally used more often). This makes sky and particle materials consistent with canvas/spatial/fog materials on this aspect.
* Only update particle velocity when it changeskobewi2023-12-231-1/+6
|
* Particle internal refactor and additions for more artistic controlQbieShay2023-10-101-8/+35
| | | | | | | | Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro> Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com> Co-authored-by: Raul Santos <raulsntos@gmail.com> Co-authored-by: Mew Pur Pur <85438892+MewPurPur@users.noreply.github.com> Co-authored-by: Clay John <claynjohn@gmail.com>
* Fix various typos with codespellRémi Verschelde2023-09-121-4/+4
| | | | Using 2.2.6.dev180+ge3a2cfbd.
* Implement conversion from `CPUParticles` to `GPUParticles` (3D/2D)Yuri Roubinski2023-08-191-0/+93
|
* Unify and streamline connecting to Resource changeskobewi2023-07-171-2/+2
|
* Add `finished` signal to GPUParticlesHolonProduction2023-07-121-6/+50
|
* Unify error condition for particles trail lifetimeclayjohn2023-07-101-1/+1
|
* Add warnings and fallbacks for particles sub emitters when using the GL ↵clayjohn2023-06-211-0/+5
| | | | | | Compatibility rendering backend Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
* Avoid error spam when (un)pausing GPUParticles out of treeYuri Sizov2023-06-121-9/+11
|
* Update GPUParticles2D/3D speed scale on ENTER_TREEBrian Long2023-03-271-0/+5
| | | | | | Fix for https://github.com/godotengine/godot/issues/75218 Pause notifications are not sent when a node is added as a child. So GPUParticles2D should also obey its can_process status on ENTER_TREE, not just PAUSED/UNPAUSED.
* Add warnings for unsupported features in mobile and gl_compatibility backendsclayjohn2023-02-261-0/+3
|
* One Copyright Update to rule them allRémi Verschelde2023-01-051-29/+29
| | | | | | | | | | | | | | | | | | | | 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".
* Add safety-checks before some servers `free()`Adam Scott2022-12-291-0/+1
|
* Add GPUParticles to the OpenGL3 renderer.clayjohn2022-11-141-4/+0
| | | | | | | | This includes collision (2D SDF, Box, Sphere, Heightmap), attraction (Box, Sphere), and all sorting modes. This does not include 3D SDF collisions, trails, or manual emission.
* Rename GPUParticles2D/3D's `trail_length_secs` to `trail_lifetime`Hugo Locurcio2022-11-071-10/+10
| | | | | | | | | | | | The property already has a "seconds" suffix in the inspector. The "lifetime" term makes it more obvious that the property is specified as time, not a distance in units. The property hint now allows manually entering values greater than 10 seconds. The internal rendering value's default now matches the particles nodes' default.
* Change return type of `get_configuration_warnings` to `PackedStringArray`Marc Gilleron2022-09-191-2/+2
|
* Rename ParticlesMaterial to ParticleProcessMaterialMicky2022-08-261-5/+5
| | | | Also affects their file names, related classes and documentation.
* Make `_validate_property` a multilevel methodYuri Sizov2022-08-221-6/+4
|
* Use global coordinates for particles by defaultHugo Locurcio2022-08-021-1/+1
| | | | | | | | Particles won't move or rotate anymore with the node (or its parents) by default. This new default behavior is generally more suited to most use cases. Local coordinates can still be enabled on a per-node basis. This affects both 2D and 3D particles, and both CPU and GPU-based particles.
* Remove Signal connect bindsJuan Linietsky2022-07-291-1/+1
| | | | | Remove the optional argument p_binds from `Object::connect` since it was deprecated by Callable.bind(). Changed all uses of it to Callable.bind()
* Particles: Fix missing configuration warning updatesRémi Verschelde2022-07-031-1/+1
| | | | Fixes #33488.
* Add suffixes to all nodes and resourcesFireForge2022-06-111-1/+1
|
* Tweak the GPUParticles3D Transform Align property hint for readabilityHugo Locurcio2022-05-211-1/+1
|
* Use suffixes for units in nodes and resourcesAaron Franke2022-05-191-5/+5
|
* String: Remove TTR and DTR defines in non-tools buildRémi Verschelde2022-03-281-8/+8
| | | | | This ensures we don't use TTR in runtime code, as it's specifically meant to source translations for the editor.
* Discern between virtual and abstract class bindingsreduz2022-03-101-4/+0
| | | | | | | | | | | | | | * Previous "virtual" classes (which can't be instantiated) are not corretly named "abstract". * Added a new "virtual" category for classes, they can't be instantiated from the editor, but can be inherited from script and extensions. * Converted a large amount of classes from "abstract" to "virtual" where it makes sense. Most classes that make sense have been converted. Missing: * Physics servers * VideoStream * Script* classes. which will go in a separate PR due to the complexity involved.
* Use `switch` consistently in `_notification` (`scene` folder)Rémi Verschelde2022-02-151-29/+32
|
* Update copyright statements to 2022Rémi Verschelde2022-01-031-2/+2
| | | | Happy new year to the wonderful Godot community!
* Rename GLES2 driver to OpenGL to prepare for the upgrade to GLES3Hugo Locurcio2021-10-301-1/+1
| | | | | - Use lowercase driver names for the `--rendering-driver` command line argument.
* Refactored Node3D rotation modesreduz2021-10-251-0/+2
| | | | | | | | | * Made the Basis euler orders indexed via enum. * Node3D has a new rotation_order property to choose Euler rotation order. * Node3D has also a rotation_mode property to choose between Euler, Quaternion and Basis Exposing these modes as well as the order makes Godot a lot friendlier for animators, which can choose the best way to interpolate rotations. The new *Basis* mode makes the (exposed) transform property obsolete, so it was removed (can still be accessed by code of course).
* doctool: Fix differences between headless and Vulkan rendering backendsRémi Verschelde2021-10-201-0/+1
| | | | Fixes #53913.
* fix out of bounds crash in GPUParticle3D::_skinning_changed()LATRio2021-09-251-1/+1
|
* moved particle parameters to minmax and split scale axisQbieShay2021-08-221-1/+1
| | | | | | | This commit adds quite a chunk of modifications to particles - particle (value + randomness) now use min and max instead - passing a curveXYZtexture is now possible and will scale particles per-axis - CPUParticle3D have an optional parameter to split the scale curve per-axis
* Fix some unnecessary includesAaron Franke2021-08-131-3/+1
|
* Use real_t and double where appropriate in ParticlesAaron Franke2021-08-121-8/+10
|
* Use doubles for time in many other placesAaron Franke2021-08-091-6/+6
|
* Node3D gizmo improvementsjfons2021-07-231-1/+1
| | | | | | | | * Clean-up of node_3d_editor_plugin.{h,cpp}: removed unused code, fixed some bugs. * Moved node_3d_editor_gizmos.{h,cpp} to editor/plugins. * Added support for multiple gizmos per node. This means custom gizmos will no longer override the built-in ones and that multiple gizmos can be used in more complex nodes. * Added support for handle IDs. When adding handles to a gizmo, an ID can be specified for each one, making it easier to work with gizmos that have a variable number of handles. * Added support for subgizmos, selectable elements that can be transformed without needing a node of their own. By overriding _subgizmo_intersect_frustum() and/or _subgizmo_intersect_ray() gizmos can define which subgizmos should be selected on a region or click selection. Subgizmo transformations are applied using get/set/commit virtual methods, similar to how handles work.
* Use PROPERTY_USAGE_NONE instead of 0 for no property usageAaron Franke2021-07-011-1/+1
| | | | Also use const more often.
* Fix editor suffixes and degrees conversionreduz2021-06-301-3/+3
| | | | | | | | | | | | | * Functions to convert to/from degrees are all gone. Conversion is done by the editor. * Use PROPERTY_HINT_ANGLE instead of PROPERTY_HINT_RANGE to edit radian angles in degrees. * Added possibility to add suffixes to range properties, use "min,max[,step][,suffix:<something>]" example "0,100,1,suffix:m" * In general, can add suffixes for EditorSpinSlider Not covered by this PR, will have to be addressed by future ones: * Ability to switch radians/degrees in the inspector for angle properties (if actually wanted). * Animations previously made will most likely break, need to add a way to make old ones compatible. * Only added a "px" suffix to 2D position and a "m" one to 3D position, someone needs to go through the rest of the engine and add all remaining suffixes. * Likely also need to track down usage of EditorSpinSlider outside properties to add suffixes to it too.
* Rename Transform to Transform3D in coreAaron Franke2021-06-031-2/+2
|
* Support for 2D particles to collide against SDFreduz2021-05-231-6/+7
| | | | | -Added SDF collision support for 2D particles -Changed the SDF generation to be fully signed
* Fixes missng 2D engine bitsreduz2021-05-111-0/+1
| | | | | | | | | | -Mesh2D now works -MultiMesh2D now works -Polygon2D now works -Added hooks for processing 2D particles -Skeleton2D now works 2D particles still not working, but stuff needed for it is now implemented.
* Fix documentation following implementation of particle trailsMarcel Admiraal2021-05-011-4/+4
|