Inverse Kinematics and Skinning
CSCI 520 Computer Animation and Simulation - Project 3
- Calculated mesh vertex deformed positions using joint skinning transform matrices
- Implemented Tikhonov IK method for animating skeleton joints
link to source code, written in C++
Motion Capture Interpolation
CSCI 520 Computer Animation and Simulation - Project 2
- Interpolated frames between keyframes generated from motion capture data
- Implemented Bezier interpolation for Euler angles, as well as SLERP and Bezier SLERP for quaternions
link to source code, written in C++
Jello Cube Simulation
CSCI 520 Computer Animation and Simulation - Project 1
- Simulated a jello cube using a mass spring system, calculating the elastic and damping forces on internal structural, shear, and bend springs
- Bounding box and inclined plane collisions using the penalty force method, calculating the elastic and damping forces on collision springs
- Implemented a time-independent force field within the bounding box using trilinear interpolation between discrete force field grid points
link to source code, written in C++
Navigation Mesh / AI System
CSCI 522 Game Engine Development - Milestone 3
- Generated a navigation mesh by reading in triangle mesh from a file
- Implemented an AI component for entities to traverse the navigation mesh towards an objective point
- Built on top of Prime Engine, provided by Artem Kovalovs, written in C++
Physics System
CSCI 522 Game Engine Development - Milestone 2
- Implemented collision detection for box, sphere, and plane shapes
- Implemented rigidbody component for objects to store mass, velocity, and impulse and for gravity simulation
- Built on top of Prime Engine, provided by Artem Kovalovs, written in C++
Animation System
CSCI 522 Game Engine Development - Milestone 1
- Implemented full body, partial body, and additive animations, with blending between provided run, walk, aim, and look animations
- Built on top of Prime Engine, provided by Artem Kovalovs, written in C++ with animations from Mixamo
Bounding Boxes and Camera Culling
CSCI 522 Game Engine Development - Assignment
- Calculated axis-aligned bounding boxes for meshes imported into the engine
- Implemented frustum culling for objects outside of the camera's view (camera's FOV in the video has been slightly increased to show the culling effect)
- Built on top of Prime Engine, provided by Artem Kovalovs, written in C++
CS184 - Computer Graphics and Imaging