FireWorks (OpenGL ES 2.0 / WebGL Demo)
The "FireWorks" sample application demonstrates the usage of particle systems. The firework display consist of randomly fired pyrotechnic articles. Each of them is created by several hundres of particels with individual ballistic trajectories, colors and shapes.
The CPU is only creating a set of parameters for each particle system. Each particle has its own lifecycle. The position of each particle within the 3D space and the current size, the color and the shape of each particle is calculated by the vertex shader. The fragment shader program is responsible for drawing each particle according to the prepared values by using a star texture.
FireWorks for Raspberry Pi
The "FireWorks" demo is also available as binary file for the Raspberry Pi target (verified on Raspberry Pi 2 Model B using a Raspberry Pi 7" touchscreen display).
On the Raspberry Pi board, a Broadcom BCM2836 SOC is used. It contains the VideoCore IV GPU, responsible to make the OpenGL ES 2.0 rendering.