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
Project 1: Rasterizer
Project 2: Mesh Editor
Project 3: Pathtracer Part1 and Part2
Project 4: Cloth Simulation
Back to Top