Home

Awesome

Unified Particle Solver

An implementation of Macklin et. al's Unified Particle Physics for Real-Time Applications for both the CPU and GPU.

This physics simulation was implemented on both the CPU (leveraging the Qt framework) and GPU (using CUDA) as a final project for Brown University's graduate-level course CSCI2240: Interactive Computer Graphics by Evan Birenbaum '15, Logan Barnes '15, and Geoff Trousdale '15.

Overview

The simulation supports a variety of states of matter by representing the entire world as a large set of small, individual, and independent particles that are influenced by a set of constraints. The system supports the following physical phenomena with two-way interaction:

CPU demo scenes

The following demo scenes are built in the CPU application, labeled with appropriate key commands to bring them up:

The following commands may also be useful:

GPU demo scenes

Note: This version of the program no longer uses the CUDA 7 cuSolver library allowing it to be run on CUDA 5 capable machines.

The following demo scenes are built in the GPU application, labeled with appropriate key commands to bring them up:

Moving around in the scene:

Pretty pictures