Carleton University - School of Computer Science Honours Project
Summer 2022
Using Real-time Particle Systems to Model Realistic Explosions in Dynamic Environments
SCS Honours Project Image
ABSTRACT
The project will be reimplementing the paper “Real-Time Particle Systems on the GPU in Dynamic Environments” [Drone, 2007] as the underlying physics using the Unity Engine. This paper uses a non-parametric particle system to control the motions of particles, by using acceleration to find the instance velocity to inturn find the instance position. The particle states will then be stored in the 2 buffers and swap buffers between frames to allow storage of the particle state. With these particles able to act independently, allowing each particle to be able to be removed at different times. The space will be partitioned into a three-dimensional grid that the geometry shader will fill with a plane equation and velocity of the scene geometry in each cell using a volume texture. The geometry shader will slice each object into different slices and pass along the relevant data to the particle shader. When the particles are updated, the volume texture that the particle is in checks if there is a collision with a plane equation and to update the particle's velocity based on the plane and its velocity. To expand upon the paper, a goal would be for new particles to be generated along the object the particle collided with to simulate dust being knocked off the object.