I’ve been working on a particle system for use in a game-engine for a couple weeks now. It’s a school assignment for a course named “Advanced Graphics and Interaction”. I built this from scratch using C++ and OpenGL (GLUT). The system runs in real time and currently doesn’t have any advanced features. I intend to implement collision detection and maybe expand the system to handle string/thread/cloth physics aswell.
Demo 1
This demo shows my demo aplication where the user can modify all kinds of parameters which influence how the particles move and their appearance in real time. The Demo shows one particle system with a maximum of 512 particles. It’s rendered in real time, however there is some obvious slowdowns when the particles are rendered as proper spheres instead of billboards.
Demo 2
Demo 2 shows an example of what can be done with this particle system. I tried to mimic the explosions in the game “The Legend of Zelda: The Wind Waker”. The explosion runs at about 200FPS @ 1600×1200 resolution on a Radeon 9800 pro and consist of 4 individual particle systems with a total of 320 particles.