Homework 1

Name:  < INSERT NAME >


Questions and/or Comments posted on LMS for Required Readings: ?? / ??


TOTAL:  [ ? / 20 ]
** If code does not compile and run as submitted, total score multiplied by 0.5 **


PROGRESS POST [ ?? / 5 ] 
Posted on LMS by the halfway for the homework.  Includes short
description of status, and at least one image.  Reasonable progress
has been made.


GOURAUD SHADING  [ ?? / 1 ]
basic implementation & efficiency discussion in README.txt

  ./mesher -input bunny_1k.obj -size 500
  ./mesher -input bunny_1k.obj -size 500 -gouraud


GOURAUD SHADING ON MESHES WITH BOUNDARIES [ ?? / 1 ]


THRESHOLD CREASE ANGLE FOR GOURAUD SHADING [ ?? ]
1 pt extra credit if the dihedral angle between triangles is checked
for sharpness against a tolerance.


BASIC EDGE COLLAPSE  [ ?? / 3 ]
An edge is identified, 2 triangles are removed and the edges and
vertices are reconnected so the mesh is "watertight".  Works for 
closed meshes.

  ./mesher -input bunny_1k.obj -size 500 -wireframe


EDGE COLLAPSE VALIDITY [ ?? / 1 ] 
Checks to make sure a collapse is legal.  Discussion in README.txt and
an implementation to check if a collapse is legal.


EDGE COLLAPSE PRIORITIZED  [ ?? / 1 ]
Some form of ordering for edge collapses & efficiency discussion


EDGE COLLAPSE ON MESHES WITH BOUNDARIES [ ?? / 1 ]


ROBUST EDGE COLLAPSE IMPLEMENTATION [ ?? ] 
1 pt extra credit if the legality check is robust (never crashing),
works on closed meshes and meshes with boundaries, and the bunny can
be simplified down to a single tetrahedron


EFFICIENT EDGE SELECTION  [ ?? ]
1-3 pts extra credit for using a priority queue or heap to efficiently
select the next edge to collapse


REPLACEMENT VERTEX POSITIONING  [ ?? ]
1-2 pts extra credit for selecting the best position for replacement
vertex in edge collapse


GEOMORPHS  [ ?? ]
1-2 pts extra credit for geomorph implementation


SUBDIVISION REFINEMENT  [ ?? / 3 ]
correctly breaks each triangle into 4 smaller triangles, manages
connectivity correctly (the mesh is watertight after each iteration of
subdivision)

  ./mesher -input cube.obj -size 300 -wirefame


BASIC LOOP SUBDIVISION RULES [ ?? / 2 ]
valance 6 and extraordinary vertex masks implemented correctly


SUBDIVISION ON MESHES WITH BOUNDARIES  [ ?? / 1 ]
Subdivision works for meshes with boundaries

  ./mesher -input open_box.obj -size 300 -wirefame


SUBDIVISION CREASES  [ ?? / 1 ]
The crease rule is implemented for infinite sharp creases

  ./mesher -input creased_cube.obj -size 300 -wirefame


SEMI-SHARP SUBDIVISION CREASES  [ ?? ]
1 pt extra credit for performing n rules of sharp followed by smooth
1 pt extra credit for floating point crease weights

  ./mesher -input creased_cube.obj -size 300 -wirefame


OTHER EXTRA CREDIT [ ?? ]
