This project contains animation features built upon one of my Computer Graphics assignments, with additional features added to the base code.
AnimationEngine.mp4
Here, you can see the features and a blog post that explains each feature.
- GPU-Accelerated SSD
- Jacobian Inverse Kinematics blog
- GPU-Based Dual Quaternion Skinning blog
- Keyframe Animation
You can choose any bone by right clicking on it. Then, you can change its rotation using the arrow keys and the PageUp and PageDown keys. Additionally, you can change the rotation by solving IK. When you select a bone, you can reset the IK target to that bone's location by pressing the "R" key on your keyboard. You can move the target by holding down the "X", "Y", or "Z" keys on your keyboard and moving your mouse in the corresponding plane. When you're satisfied with the target location, press the "Solve IK" button. Once you're happy with the pose, you can take a snapshot by clicking on the "Take Snapshot" button. Then, you can specify the time at which this snapshot should be played by typing in the desired second.
DualQuaternionSkinning.mp4
https://eigen.tuxfamily.org/index.php?title=Main_Page
http://graphics.cs.cmu.edu/nsp/course/15-464/Fall09/handouts/IK.pdf
https://cseweb.ucsd.edu/classes/sp16/cse169-a/slides/CSE169_09.pdf
https://robotics.stackexchange.com/a/22634
https://users.cs.utah.edu/~ladislav/kavan08geometric/kavan08geometric.html