The final project is a project for students in groups of up to two persons. The purpose of the project is for a student to explore an area of computer graphics in some depth. Example projects are:
- Implement a small web-based graphics engine.
- Implement a small, graphics intensive video game.
- Implement a ray-tracer rendering system. It must render polygonal and conic section objects described by some input file format and have reflection, transparency, and shadows.
- Implement a simple visualization method such as social-network visualization or ray-cast volume rendering. The user must be able to change the parameters of the visualization system, including the data set.
- Implement a Bezier curve modeling system. The user must be able to have a control polygon with an arbitrary number of control points. Curve must be editable, meaning you can select them; change, insert, or delete control points, or delete entire curves.
- Implement a stereoscopic renderer.
- Implement a few non-photorealistic rendering technique such as haloing, tone shading, or stippling.
This is not an exhaustive list. The project should be something that could be completed within a month’s time by two students and demonstrate knowledge in computer graphics.