Implementation

Using OpenGL and math libraries like Eigen and ADOL-C, I implemented linear skin blending, forward kinematics (FK), and inverse kinematics (IK) algorithms to deform a character represented as an obj mesh, given its skinning weights and skeleton data.

There are two ways to go about IK: regularization vs pseudo inverse. I experimented with both, and as bonus, I tried out the more unstable method pseudo inverse with dual quaternion skin blending.

Demo

🛠️ Tools used

  • C++
  • Eigen
  • ADOL-C
  • OpenGL