Give a high-level overview of what you implemented in this project. Think about what you've built as a whole. Share your thoughts on what interesting things you've learned from completing the project.
- Briefly explain de Casteljau's algorithm and how you implemented it in order to evaluate Bezier curves.
- Take a look at the provided bzc files and create your own Bezier curve with six (6) control points of your own choosing. Use this Bezier curve for your screenshots below.
- Show screenshots of each step of the evaluation from the original control points down to the final evaluated point. Use the keyboard command E to step through. Toggle C to show the completed curve as well.
- Move the points around and modify the value of t by scrolling and show us a slightly different Bezier curve.
- Briefly explain how de Casteljau's algorithm extends to Bezier surfaces and how you implemented it in order to evaluate Bezier surfaces.
- Show a screenshot of a rendering of bez/teapot.bez.
- Briefly explain what you did.
- Show mesh renderings of dae/teapot.dae, comparing the default OpenGL shading with and without smoothed normals (use Q to switch between face normals and average vertex normals).
- Briefly explain how you implemented the half-edge flip operation and describe any interesting implementation/debugging tricks you used.
- Show a screenshot of a mesh before and after some edge flips.
- Write about your eventful debugging journey, if you experienced one.
- Briefly explain how you implemented the half-edge split operation and describe any interesting implementation/debugging tricks you used.
- Show a screenshot of a mesh before and after some edge splits.
- Show a screenshot of a mesh before and after a combination both edge splits and edge flips.
- Write about your epic debugging quest, if you went on one.
- If you implemented support for boundary edges, give some screenshot examples of your implementation properly handling split operations on bounary edges.
- Briefly explain how you implemented the Loop subdivision and describe any interesting implementation/debugging tricks you used.
- Take some notes as well as some screenshots to record your observations of how meshes behave after Loop subdivision. What happens to sharp corners and edges? Can you lessen this effect by pre-splitting some edges?
- Load up dae/cube.dae. Try several iterations of Loop subdivision on the cube. Notice that the cube.dae becomes slightly asymmetric after repeated subdivision steps. Play around with this using flip and split. Can you pre-process the cube with flip and split so it subdivides symmetrically? Document these effects and explain why they occur, and how your pre-processing helps alleviate the effects.
- If you implemented any extra credit extensions, explain what you did and document how they work with screenshots.
If you are not participating in the optional mesh competition, don't worry about this section!
- Save your best dae file as competition.dae in your docs/ directory, and show us a screenshot of it in your write-up.
- Include a series of screenshots showing your original mesh, as well as your mesh after one and two rounds of subdivision. If you used any custom shaders, also include examples your mesh with those shaders applied.
- Describe what you did to enhance your mesh-man beyond the simple mesh-man described in the tutorial.