Foundations of 3D Computer Graphics

Meshes and Subdivision Surfaces


In this project, you will use the provided mesh data structure to implement Catmull-Clark subdivision.

This project builds off of a completed version of the Materials and Bump Mapping assignment.

Included with this code:

  1. A mesh data structure which allows you to store a mesh and to access neighboring mesh elements (vertices, edges and faces). This mesh data structure also comes with a subdivision operation that performs the topological updates needed during subdivision. You will need to provide the updated positions for the subdivided vertices.