/Cloth

A simple physics cloth system.

Primary LanguageC++MIT LicenseMIT

Cloth

A simple CPU driven cloth system with an OpenGL renderer. Qt 5 used as the base framework.

The cloth system is based on discrete particles simulation and virtual springs.

Features

  • Control the camera (WASD keys for movement, and mouse left click + mouse movement for orientation).
  • Move the cloth anchor points (mouse right click + mouse movement)
  • Numerical solvers implemented:
    • Euler
    • Semi-implicit Euler
    • Verlet
  • Collider types implemented:
    • Sphere
    • Plane
    • Triangle
  • Force fields implemented:
    • Gravity
    • Drag
  • Implemented spring force between particles.

Known issues

  • Some particles scape the box on the edges/vertices. This is due to not checking for a collision again once the particle has been corrected. This can be easly fix at the cost of performance.

Requirements

The software requires the following libraries to be installed:

  • GLEW
  • Eigen
  • QT 5

Build

Clone the repository:

git clone https://github.com/GerardMT/Cloth
cd Cloth

Compile the code:

cd src
qmake-qt5
make

The builds can be found at build/.

Run

Once build, run the project from the build directory:

cd ../build/release/
./cloth

Screenshots

Fixed No fixed

Other

Have a look at my other physics based projects: