Optionalstore: ParticleStoreColumn storage to bind to. A private single-row store is
created when omitted, so a standalone new TrailParticle() still works.
OptionalstoreIndex: numberRow this particle owns.
Color of the particle.
Number of samples the ring buffers can hold.
Ring buffer of recorded colors, 4 floats per sample.
Number of valid samples currently held.
Slot the next sample is written to.
Ring buffer of recorded positions, 3 floats per sample.
Ring buffer of recorded widths, 1 float per sample.
Length of the trail.
OptionallocalLocal position of the particle.
the memory of the particle.
OptionalparentParent matrix for transformation.
Position of the particle.
Previous states of the particle.
Where this particle was when the current simulation step began; see Particle.previousPosition.
Velocity at the start of the current step; see Particle.previousVelocity.
ProtectedscalarProtectedscalarsRow of the store's interleaved scalars this particle owns.
Size of the particle.
Initial color of the particle.
Initial size of the particle.
Initial speed of the particle.
ReadonlystoreColumn storage backing this particle's vector attributes.
Row this particle occupies in store.
UV tile index.
Velocity of the particle.
Age of the particle.
Age of the particle.
Indicates if the particle has died.
Life duration of the particle.
Life duration of the particle.
Speed modifier of the particle.
Speed modifier of the particle.
Allocates the trail ring buffers, reusing them when the capacity is unchanged.
Number of samples to hold.
Ring buffer slot of the i-th sample counting from the oldest one.
Sample offset, 0 being the oldest live sample.
Re-points the vector views after the store grew its arrays.
Resets the particle properties and clears the previous states.
Drops every recorded sample without releasing the buffers.
Moves this particle onto a different store row. The caller is responsible for having moved the row contents too.
Records the current state into the trail ring buffer, or retires the oldest sample once the particle is dead. Allocation free.
Particle implementation for trail-based particles.