When a particle system had no living particles, PendingChanges::updateItem
would assert, due to the access to _vertices[0]. In release this might be
harmless as this memory is never accessed, but different implementations of
std::vector might do different things here. So, let's be safe and early
return when the number of particles is 0.
* Created custom pipelines and shaders for untextured and textured
particle rendering.
* Created custom render payload for particles
* Moved all particle updates into simulation rather then render.
* Uses pendingChanges.updateItem lambda to update the playload with
new data for rendering.
* ParticleEffectEntityItem now updates its dimensions properly,
based on emitter properties.
* Bug fix for dt not accumulating properly, during gaps between updates.
now we just update all the time. (super cheap tho, if there are no particles
animating)
* Updated variable naming to match coding standards.
* Changed particle raw float arrays to vectors.
* Bug fix: changing maxParticles will no longer lead to memory corruption.
* Made particle ring buffer more explicit, added _particleTailIndex.
* Added getLivingParticleCount() private method.
* Moved integration and bounds code into private methods.
* Bug fix: high emit rates now properly integrate particles forward for the
remaing frame time, not the entire frame.
* Bug fix: new particles were not initiaized to origin.
* Added more particles to ajt-test.js.
* Bug fix: ajt-test.js script was not shutting down properly.
* Removed random seed, unless we have a psudo random number generator per
particle system instance, it's unlikely that this will preserve sync.
* Bumped packet version number.
* Changed particle geometry to billboarded quads
* Added texture support
* Added ajt-test.js particle test script.
* GeometryCache support for batched quads with texCoords.
* Bug fix for infinite loop if _lifetime was very large.
* Don't reset the simulation on animation loop.
* stop emitting particles on animation stop, but keep simulating until there are no more living particles.
* Removed some trailing whitespace