Create a new particle system
WebGL2 rendering context
Maximum number of particles in the system
Size of the particle quad
Acceleration or deceleration multiplier, default 1.0. Applied every frame, so keep values very close to 1.0
Change colour and alpha as particle reaches it's lifetime. Default: [0,0,0,1]
Age power curve
Blend destination mode, default: 'ONE', leave alone unless you know what you are doing
Blend source mode, default: 'SRC_ALPHA', leave alone unless you know what you are doing
Particles will randomly emit in a direction between this vector and direction2
Particles will randomly emit in a direction between this vector and direction1
Duration of particle system in frames, -1 = forever. Default: -1
Emission rate, number of particles per frame
Particles are spawned in a bounding box, defined by this vector as one corner
Particles are spawned in a bounding box, defined by this vector as one corner
When enabled, particles will be spawned and emitted
Gravity vector. Default: [0, -9.81, 0]
Particles transformed fixed to local coordinate space, generally leave as false
Max initial random rotation of particles in radians
Max lifetime of particles in seconds
Max power (speed) of particles, this is multiplied by the direction vector
Max random rotation speed of particles in radians per second
Max random size of particles
Min initial random rotation of particles in radians
Min lifetime of particles in seconds
Min power (speed) of particles, this is multiplied by the direction vector
Min random rotation speed of particles in radians per second
Min random size of particles
Colour multiplier pre-applied to particle texture before ageing
Texture to use for particles
Speed up or slow down time
Render the particle system and implement the renderable interface
WebGL2 rendering context
Uniforms to pass to the shaders
Particle system, uses transform feedback on the GPU to update particles and VAO instancing to render them