How are sharp creases implemented in code? is it simply a boolean flag in the half-edge object denoting that an edge should be sharp?
I'm also taking UCBUGG (the 3D animation DeCal) this semester, and it's really cool to see things like this—I just started experimenting with the crease tool in Maya, and now I'm getting to learn about the underlying computation/algorithm involved in making that tool work! After some googling, I discovered that Maya recently switched from their version of Catmull-Clark subdivision to something they call OpenSubdiv, which seems to just be an optimized version of Catmull-Clark that leverages parallelization.
@ellinzhao That sounds like a good way to approach it; you would perform loop subdivision differently when encountering edges with the sharp flag
I support that approach of labelling edges as sharp. Perhaps you can look at angles formed, difference in positions, or some comparison between one edge and other nearby edges.
It is interesting that some sharp edges disappeared but others remained sharp.