MINI MAYA
CIS560: Interactive Computer Graphics, PENN Engineering - FALL 2019
C++ / OpenGL
OVERVIEW
This is one of two projects I created as a part of my Computer Graphics course. This individual project involved implementing a basic mini-maya system and interface. The program leverages the Half-edge data structure in order to complete operations efficiently and uses a polar spherical camera.
FEATUREs
Select and Move Edges, Vertex, and Joints
Change Color of Faces
Add Midpoints
Triangulate Faces
Catmull-Clark Subdivision
Face Extrusion
OBJ Importing (Mesh)
JSON Importing (Skeleton / Joints)
Shader-based Skin Deformation: Involved Skinning with Bind Matrices and Joint Weights
Supplemental Features
Planarity Test: Triangulates faces that are no longer planar when created new midpoints
OBJ Exporting: So you can save and come back to your creation
Beveling: A fun extension of face extrusion