class
ParticleEvolver
Inherits:
ParticleModule
Updates properties of all active particles in a particle system in some way.
Public
Constructors
ParticleEvolver
ParticleEvolver() = default
Methods
~ParticleEvolver
virtual ~ParticleEvolver() noexcept = default
GetProperties
Returns a set of properties that describe this evolver type.
Protected
Methods
Evolve
virtual void Evolve(Random &random, const ParticleSystemState &state, ParticleSet &set, u32 startIdx, u32 count, bool spacing, float spacingOffset) const = 0
Updates properties of particles in the provided range according to the ruleset of the evolver.
- random
- Utility class for generating random numbers.
- state
- Particle system state for this frame.
- set
- Set containing the particles to update.
- startIdx
- Index of the first particle in to update.
- count
- Number of particles to update, starting from .
- spacing
- When false all particles will use the same time-step as provided by . If true the time-step will be divided by so particles are uniformly distributed over the time-step.
- spacingOffset
- Extra offset that controls the starting position of the first particle when calculating spacing. Should be in range [0, 1). 0 = beginning of the current time step, 1 = start of next particle.