Skip to content

Particle System

Utilize this powerful and flexible particle system in your effects to create stunning dynamic visualizations. It allows you to either manually add particles to the system or to create and add particle emitters, which continually spawn particles into the system.

The particle system implements the following interface.

public interface IParticleSystem
{

    /// <summary>
    /// Creates and adds a new particle according to the provided configuration.
    /// </summary>
    /// <param name="config">particle configuration</param>
    void AddParticle(ParticleConfig config);

    /// <summary>
    /// Creates and adds a new particle emitter according to the provided
    /// configuration. Altering the passed configuration afterwards will 
    /// affect the emitter as well. 
    /// </summary>
    /// <param name="emitterConfig">particle emitter configuration</param>
    IParticleEmitter AddEmitter(ParticleEmitterConfig emitterConfig);

    /// <summary>
    /// Updates all particle emitters and particles within this particle
    /// system with the provided time step. 
    /// </summary>
    /// <param name="dt">time step</param>
    void Update(float dt);

    /// <summary>
    /// Renders all particles within this particle system into the 
    /// provided render. 
    /// </summary>
    /// <param name="render">render target</param>
    void Render(IRender render);
}

Read more: