Academic / Geometric modelingAcademic project2024–2025
Geometric Modeling
C++ 3D mesh-processing project covering half-edge structures, triangulation, mesh simplification and Catmull-Clark subdivision.

108-face dolphin mesh shown as a wireframe around its 6,464-face surface smoothed by Catmull-Clark subdivision.
Technologies
- C++
- OpenGL
- CMake
- Half-edge
- Catmull-Clark
What I built
- Mesh file reading
- Normal computation
- Silhouette extraction
- Triangulation
- Half-edge data structure
- Surface of revolution
- Shortest-edge simplification
- Catmull-Clark subdivision
Context
An academic C++ and OpenGL project focused on mesh topology, geometric operations and interactive visualization.
Problem
Mesh editing algorithms need explicit adjacency information between vertices, edges and faces. A half-edge structure provides the traversal needed for local topology operations.
Implementation
The project covers mesh file reading, normal computation, silhouette extraction, triangulation, half-edge tests, a surface of revolution, shortest-edge simplification and Catmull-Clark subdivision.
Technical architecture
Vertices, faces and directed half-edges store mesh topology. CMake builds the C++ application, while OpenGL renders faces, vertices, normals, edges and silhouettes for inspection.
Key engineering decisions
Simplification tests shorter edges first and resolves each operation to a valid collapse. Catmull-Clark subdivision treats face, edge and vertex updates as separate topology steps before rebuilding connectivity.
Challenges
Edge collapse and subdivision must preserve consistent twin, next and previous links. The source includes topology and normal checks to make those structural errors visible.
What I learned
The implementation shows how the choice of topology structure affects algorithm correctness, local mesh traversal and the resulting visualization.
Visual evidence


