position-based-dynamics icon indicating copy to clipboard operation
position-based-dynamics copied to clipboard

eXtended Position based dynamics implementation with soft body virtual cutting

Soft Body Simulation using eXtended Position Based Dynamics

Overview

Academic prototyping project for soft body simulation using XPBD. Different constraint types will be implemented using Eigen for matrix computations and libigl for visualization and user interaction.

Short term roadmap

Constraint types

  • edge length
  • tetrahedral volume
  • fem based

Bar simulation example Cloth simulation example Bunny geometric simulation example

Dependencies

libigl is included in the project using CMake's FetchContent and pulls in Eigen, glfw, Dear ImGui and TetGen with it.

Building

# Download repository
$ git clone https://github.com/Q-Minh/position-based-dynamics
$ cd position-based-dynamics

# Configure and build project
$ cmake -S . -B build
$ cmake --build build --target pbd --config Release

# Run the program
$ ./build/Release/pbd.exe