Skip to content

GerardMT/Hair

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hair

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

The hair 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 head/rope 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, or get into the sphere, on the edges/vertices. This is due to not checking for a collision again once the particle has been corrected. This can be easy 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/Hair
cd Hair

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/
./hair

Screenshots

Rope Hair

Other

Have a look at my other physics based projects:

If you want to fork this project I recommend cloning Cloth, which includes all the code from Particles and Hair, including some improvements.

About

A simple physics hair system.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published