Particle Simulation

This project is a Smoothed Particle Hydrodynamics simulation that runs in real-time and allows for interaction while modelling liquids and gases. It was inspired by Sebastian Lague’s video where he develops a similar simulation in C# and HLSL. I wanted to challenge myself by programming this simulation in C++ to practice the language which I had learned the semester prior.

Through programming this project, I strengthened some skills I had already been working on (project planning, software engineering, and time organization) alongside building skills I was unfamiliar with (Compute shaders for computing and using graphics libraries for rendering). I worked on this project with a friend over the summer, and was able to teamwork in a development setting.

I was pleased to finish off the project by significantly optimizing the code. What started out as a project that could barely render 1500 particles at 10FPS, ended as a project that could render 290,000+ particles at ~40FPS. Altogether, this project is something I am very proud of, and I look forward to using the skills I learned in other settings.

You can find more information and look at the source code at the GitHub repo.