Visual Effects with 10 Million Physics-Based Particles in Real-Time Entirely on the GPU
Peiyi LI
Software Development
Visual Effects with 10 Million Physics-Based Particles in Real-Time Entirely on the GPU
I developed a fully GPU-driven particle system designed to simulate and render large-scale visual effects in real time. The goal of this project was to overcome CPU limitations in traditional particle systems and enable stable performance when handling millions of particles. I chose this project to deepen my understanding of GPU programming and explore how modern hardware can be used to scale real-time simulations.
The system was implemented entirely on the GPU using compute shaders. It handled particle emission, simulation, lifecycle management, and recycling without requiring per-particle CPU involvement. I designed a structured buffer layout and used a ping-pong buffering approach to support safe parallel updates. The system also supported multiple force types, including gravity, directional force, point force, and
procedural noise, allowing for flexible and dynamic visual effects. Rendering was performed using billboard particles with soft depth blending to improve visual integration.
The project was developed over the course of two academic semesters. One of the main challenges was maintaining stable performance at high particle counts. I addressed this by minimizing CPU-GPU synchronization, using atomic operations for spawning, and applying distancebased LOD optimization. The system achieved stable frame times of around 20 milliseconds with up to 10 million particles. This project strengthened my skills in GPU programming, parallel simulation, and real-time rendering. The techniques developed in this system are directly applicable to modern game engines and large-scale visual effects production.
92 SOFTWARE DEVELOPMENT