Mini Maya
-
Implemented an application with basic Maya functionalities using OpenGL and Qt Creator. The functionalities include loading *.OBJ files with a half-edge data structure, employing Catmull-Clark mesh subdivision, enabling face extrusion, binding meshes to custom skeletons, and executing mesh skinning deformations
-
When finished editing the models, the application can export the mesh with the face colors into an USD file and launches a USD viewport to display the model.
Skills related: C++, OpenGL, GLSL, Qt Creator

Supports custom *.OBJ files and the vertices, half-edges, and faces would be parsed and displayed

Implemented Maya-like Polar Spherical Camera

Selected vertices, half-edges, and faces can be directly visualized

Splits an half-edge into two by adding a midpoint vertex

Splits faces of any shapes into triangles

Catmull-Clark Subdivision

Face Extrusion

Supports loading custom skeletons in *.JSON files and binding the mesh with the skeletons. When altering the position and orientation of the joints, the mesh vertices would also change by linear blending
After editing the mesh, the application can export the mesh with the face colors into a USD file and launch a USD viewport to display it.