Particle system using OpenGL ES 3.
Each particle is created using point sprite primitive type of OpenGL ES and texture is added onto the point sprite.
Particle color from texture then being modulated with a random color.
The color of the particle group is assigned randomly each time the group is generated (by tapping the screen).
Each group consists of 10000 particles.
There is no sorting of particles based on depth values.
As a result, blending is employed.
The blending techniques used are transparency blending to make the transparent part of the texture not occlude the particles behind it and additive blending to make the group of particles appear brighter when they are grouped on top of each other.
Since there are a lot of particles in one group, when many groups of particles are generated simultaneously, the impact on performance starts to occur, especially since the development platform is a mobile device.
The slider at the bottom of the screen can be used to control the time factor of particles when they explode. Since the time factor of particles can be controlled in real-time, some special effects that involve the time property of particles can be created.
Rewind and fast-forward effects are shown in the video. Users can drag the slider to create the effects. The same can be done via programming instead of manually dragging the slider.
Platform: iOS
Programming Language: Objective-C, C/C++, GLSL
Device: iPad Air