top of page


C++ / OpenGL / GLSL / QT

For my graduate-level graphics course CIS 5600: Interactive Computer Graphics, I implemented "Mini Maya," a miniature replication of the 3D computer graphics application Autodesk Maya. My mesh editor application hosted a variety of features, such as a user friendly GUI for mesh editing, various primitive mesh operations like face triangulation and subdividing, multiple file type importing,  and a half edge data structure that allowed for vertex, edge, and face manipulation. 

My responsibilities included: 

  • GUI  

    • Spinboxes for color (RGB) and position (XYZ)

    • Function buttons 

    • Mesh component lists (vertices, half edges, faces)

    • Skeleton joint tree

  • Topology-Editing Functions​

    • Vertex and join translation 

    • Face triangulation

    • Edge splitting 

    • Catmull-Clark Subdivision

  • Shader-based Skin Deformation

    • Linear blend skinning via bind matrices and joint weights​

  • Polar Spherical Camera

  • Different File Types for Import

    • OBJ (Mesh)​

    • JSON (Skeleton / Joints)

bottom of page