summaryrefslogtreecommitdiff
path: root/scene/2d/cpu_particles_2d.h
AgeCommit message (Collapse)Author
2022-05-02Style: Partially apply clang-tidy's `cppcoreguidelines-pro-type-member-init`Rémi Verschelde
Didn't commit all the changes where it wants to initialize a struct with `{}`. Should be reviewed in a separate PR. Option `IgnoreArrays` enabled for now to be conservative, can be disabled to see if it proposes more useful changes. Also fixed manually a handful of other missing initializations / moved some from constructors.
2022-03-18Merge pull request #55399 from RPicster/particlesmaterial-sphere-emittershapeRémi Verschelde
ParticleMaterial: Sphere emission shape emitting from the volume.
2022-01-03Update copyright statements to 2022Rémi Verschelde
Happy new year to the wonderful Godot community!
2021-12-06Fixed sphere emission shape to emit particles in a spheres volume and added ↵Raffaele Picca
"Sphere Surface" to keep the old behaviour.
2021-12-03Random initial color parameter for ParticleMaterialRaffaele Picca
Works with 2D and 3D GPU Particles
2021-10-21Remove unimplemented methodsMarcel Admiraal
2021-08-22moved particle parameters to minmax and split scale axisQbieShay
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
2021-08-13Fix some unnecessary includesAaron Franke
2021-08-09Some work on double supportAaron Franke
2021-08-09Use doubles for time in many other placesAaron Franke
2021-05-05Increase the default 2D gravity to 980.0Hugo Locurcio
This makes 2D RigidBody physics feel less floaty out of the box. This closes https://github.com/godotengine/godot-proposals/issues/98.
2021-04-11Use Array for node configuration warningsNathan Franke
Previously, the warnings were passed as a string and delimitation of which were hard coded at each implementation.
2021-03-19Use real_t in non-physics 2D nodesAaron Franke
2021-02-07Initialize class variables with default values in scene/ [1/2]Rafał Mikrut
2021-01-01Update copyright statements to 2021Rémi Verschelde
Happy new year to the wonderful Godot community! 2020 has been a tough year for most of us personally, but a good year for Godot development nonetheless with a huge amount of work done towards Godot 4.0 and great improvements backported to the long-lived 3.2 branch. We've had close to 400 contributors to engine code this year, authoring near 7,000 commit! (And that's only for the `master` branch and for the engine code, there's a lot more when counting docs, demos and other first-party repos.) Here's to a great year 2021 for all Godot users 🎆
2020-12-04Rename Particles/ParticlesMaterial "Flags" enum to "ParticleFlags"Aaron Franke
"Flags" was a bit too ambiguous, and in 3D it hid GeometryInstance.Flags
2020-11-16Remove empty lines around braces with the formatting scriptAaron Franke
2020-11-07Reorganized core/ directory, it was too fatty alreadyreduz
-Removed FuncRef, since Callable makes it obsolete -Removed int_types.h as its obsolete in c++11+ -Changed color names code
2020-10-24Refactored 2D shader and lighting systemreduz
-Removed normal/specular properties from nodes -Create CanvasTexture, which can contain normal/specular channels -Refactored, optimized and simplified 2D shaders -Use atlas for light textures. -Use a shadow atlas for shadow textures. -Use both items aboves to make light rendering stateless (faster). -Reorganized uniform sets for more efficiency.
2020-07-10Add override keywords.Marcel Admiraal
2020-05-14Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocksRémi Verschelde
Which means that reduz' beloved style which we all became used to will now be changed automatically to remove the first empty line. This makes us lean closer to 1TBS (the one true brace style) instead of hybridating it with some Allman-inspired spacing. There's still the case of braces around single-statement blocks that needs to be addressed (but clang-format can't help with that, but clang-tidy may if we agree about it). Part of #33027.
2020-02-26Reimplement Mutex with C++'s <mutex>Pedro J. Estébanez
Main: - It's now implemented thanks to `<mutex>`. No more platform-specific implementations. - `BinaryMutex` (non-recursive) is added, as an alternative for special cases. - Doesn't need allocation/deallocation anymore. It can live in the stack and be part of other classes. - Because of that, it's methods are now `const` and the inner mutex is `mutable` so it can be easily used in `const` contexts. - A no-op implementation is provided if `NO_THREADS` is defined. No more need to add `#ifdef NO_THREADS` just for this. - `MutexLock` now takes a reference. At this point the cases of null `Mutex`es are rare. If you ever need that, just don't use `MutexLock`. - Thread-safe utilities are therefore simpler now. Misc.: - `ScopedMutexLock` is dropped and replaced by `MutexLock`, because they were pretty much the same. - Every case of lock, do-something, unlock is replaced by `MutexLock` (complex cases where it's not straightfoward are kept as as explicit lock and unlock). - `ShaderRD` contained an `std::mutex`, which has been replaced by `Mutex`.
2020-02-18PoolVector is gone, replaced by VectorJuan Linietsky
Typed `PoolTypeArray` types are now renamed `PackedTypeArray` and are sugar for `Vector<Type>`.
2020-02-11Texture refactorJuan Linietsky
-Texture renamed to Texture2D -TextureLayered as base now inherits 2Darray, cubemap and cubemap array -Removed all references to flags in textures (they will go in the shader) -Texture3D gone for now (will come back later done properly) -Create base rasterizer for RenderDevice, RasterizerRD
2020-02-07Merge pull request #32496 from bitstopper/masterRémi Verschelde
Fixes broken CPUParticles2D AtlasTextures usage
2020-01-23doc: Misc updates for AnimationNode* and othersRémi Verschelde
- Add some missing descriptions. - Add links to tutorials for ARVR and AnimationTree. - Style fixes. - Engine changes: * Make `AnimationNodeTransition.input_<number>` properties internal so that they don't appear in the docs. They still appear in the inspector based on the actual number of inputs requested. * Drop unimplemented `CPUParticles.flatness`. It's only used for 3D particles in `ParticlesMaterial`, and thus only relevant for `CPUParticles3D`.
2020-01-16Validate input in (CPU)Particles set_emission_shape()Rémi Verschelde
Fixes #29777. Co-authored-by: Cameron Reikes <cameronreikes@gmail.com>
2020-01-01Update copyright statements to 2020Rémi Verschelde
Happy new year to the wonderful Godot community! We're starting a new decade with a well-established, non-profit, free and open source game engine, and tons of further improvements in the pipeline from hundreds of contributors. Godot will keep getting better, and we're looking forward to all the games that the community will keep developing and releasing with it.
2019-10-20Fixed delay when CPUParticles & CPUParticles2D start being emittedPouleyKetchoupp
Particles were processed only on the next frame after the emission started, causing a one frame delay in rendering. Now the first process cycle is started during the same frame, which makes them consistent with Particles & Particles2D. Fixes #32890
2019-10-07Fixes broken CPUParticles2D AtlasTextures usagebitstopper
2019-08-12Remove redundant author doc commentsIAmActuallyCthulhu
2019-07-14added individual particle random lifetimeclayjohn
2019-07-02Merge pull request #26613 from KoBeWi/direction_of_particlesRémi Verschelde
Add a Direction property to ParticlesMaterial
2019-06-26Add a Direction property to ParticlesMaterialTomasz Chabora
2019-06-26Some code changed with Clang-Tidyqarmin
2019-06-17change emit shape circle to sphere in CPUParticles2Dclayjohn
2019-06-16Merge pull request #29700 from clayjohn/cpuparticles_transform_bugRémi Verschelde
Fix CPU particles bug with local_coords and transform
2019-06-14fix CPU particles bug with local_coords and transformclayjohn
2019-06-13Implement missing orbit velocity for CPUParticles and CPUParticles2DRémi Verschelde
The relevant code was copied from (GPU) ParticlesMaterial but commented out initially, and never ported. Closes #29580.
2019-06-06Reversed operator in SortLifetime fixing #29440SamSindt
2019-03-08Prevent invisible/inactive cpupparticles2d to redrawDaeil Kim
2019-01-01Update copyright statements to 2019Rémi Verschelde
Happy new year to the wonderful Godot community!
2018-11-13Make 2D particles work OOTB (again)JFonS
2018-11-04Remove animation loop from ParticlesMaterial + improvements to CPUParticles2DJFonS
Remove animation loop from ParticlesMaterial and move it to SpatialMaterial for 3D particles and Particles2D for the 2D case. Added animation to CPUParticles2D as well as the "Convert to CPUParticles2D" to the PAarticles2D menu.
2018-09-12Make core/ includes absolute, remove subfolders from include pathRémi Verschelde
This allows more consistency in the manner we include core headers, where previously there would be a mix of absolute, relative and include path-dependent includes.
2018-09-04Move ParticlesMaterial code to its own resource fileRémi Verschelde
It's shared by both 2D and 3D particles (+ CPU ones), so it makes sense to have as a common resource. It also allowed to disable compilation of Particles (3D) when using 'disable_3d'. Also cleaned up includes in SpatialEditorGizmos and some other places, as well as dropped dead code in material_editor_plugin.cpp.
2018-08-29Add missing copyright headersRémi Verschelde
2018-08-29Ported CPU particles to 2DJuan Linietsky