In this assignment, both undergraduates and graduates will the learn basics of manipulating meshes. I will provide the rendering engine for these using WebGL – your focus in this assignment is to load, edit, and save meshes in various ways.

Undergraduate students:

Graduate students:


You should use git to submit all source code files. The expectation is that your code will be graded by cloning your repo and then executing it within a modern browser (Chrome, Firefox, etc.)

Please provide a file that provides a text description of how to run your program and any parameters that you used. Also document any idiosyncrasies, behaviors, or bugs of note that you want us to be aware of.

To summarize, my expectation is that your repo will contain:

  1. A file
  2. Answers to the written questions in a separate directory named written
  3. A index.html file
  4. A a05.js file
  5. Any other .js files that you authored.


Please see the individual assignment descriptions for a detailed grading rubric.

Extra Credit

Students in 433 are encouraged to attempt the programming portion of the 533 assignment, and vice versa! For students in 433, completing the Laplacian smoothing features are worth up to an extra 10%. For students in 533, completing the mesh transformer is also worth up to an extra 10%.

To submit, please create a repo using the appropriate link above (e.g. a student in 433 would submit their 433 project through the usual 433 link and their 533 project through the same 533 link). Do not submit answers to the written questions twice, as these are not eligible for extra credit.

In addition, implementing features above and beyond the specification may result in extra credit, please document these in your This might include, but are not limited to, implementing more sophisticated mesh transformation operations and or experimenting with new interfaces.