Particle System Using CUDA

Description: Particle system written in C++ using DirectX 9 for graphics and Cuda for updating the particles. Each particle contains position, velocity, acceleration, color, color fade and age. The particle system contains two bounding collision a box and sphere, the particles that collide with it can die or bounces back with some loss of velocity. The particle system can set ranges for all the particle values, can apply a force on all of them and set a spawn area for the particles. The calculation of the new particles position, velocity and color is done in Cuda, the collision with the bounding box is done on the CPU, and the display of the particle is done using a vertex buffer of point sprites that is sent to the graphic card for rendering. The vertex buffer is filled in batches and rendered once the batch is full. The simulation contains three simple example particle systems showing the number of particles and the current frame rate, with an option to turn on/off the bounding collision and replace sprites with meshes.

Project Files: PDF

Research Paper: PDF

Final Presentation of work: Google_Docs_Presentation

Project Status: Completed

Project Type: Team

      • Steve Gannon Programming
      • Liad Avidov Programming

%d bloggers like this: