2L DIGITAL Building a Million Particle System


My Game Developers Conference 2004 session and paper.

new» An updated overview over many particle system simulation techniques has been given as a talk at the Game Developers Conference 2007.

Additional research on this topic, including collision of particles with arbitrary geometry, has been published in a paper at the Graphics Hardware 2004 conference.

Lava flow particle system example Abstract of the paper:
Particle systems have long been recognized as an essential building block for detail-rich and lively visual environments. Current implementations can handle up to 10,000 particles in realtime simulations and are mostly limited by the transfer of particle data from the main processor to the graphics hardware (GPU) for rendering.
This paper introduces a full GPU implementation of both the simulation and rendering of a dynamically-growing particle system. Such an implementation can render up to 1 million particles in real-time on recent hardware. It helps you to dramatically increase the level of detail and allows you to simulate much smaller particles. Thus it goes back again towards the original idea of a particle being a minimal geometry element.
The massively parallel simulation of particle physics on a GPU can be a flexible combination of a multitude of motion and position operations, e.g. gravity, local forces and collision with primitive geometry shapes or texture-based height fields. Additionally, a parallel sorting algorithm is introduced that can be used to perform a distance-based sorting of the particles for correct alpha-blended rendering.

GDC 2004 Paper (PDF, 224 KB)
GDC 2004 Lecture Slides (PDF, 1.4 MB)
Demo binaries and source code (requires NVIDIA GeforceFX 5xxx or higher, ZIP, 1.6 MB)

For further information contact: Lutz Latta (llatta at 2ld.de)

Thanks go to my former colleagues from Massive Development for their support!

:: Back home

<Last update: 6 June 2007>