The marking for the project will be similar to the assignments. The project is worth 40% of your final grade, with 26 of the possible 40 points available being awarded for a complete implementation of your proposal. 8 points will be awarded for extensions to the project that require significant design and implementation. The final 6 points will be awarded for the paper submission and the demonstration.
For example, if you are implementing a ray tracing program, I expect the final product to be able to render at least two primitive types, perform ambient, diffuse, and specular shading, implement shadows, reflection, and refraction. Such an implementation would receive 26 of the 40 marks. Extensions to the ray tracer, such as a rendering acceleration technique, texture mapping, an extended set of primitives, or anti-aliasing would receive extra marks to bring your final grade closer to 34. The final 6 points will be awarded based on the demonstration of your project and the paper you submit. I would strongly suggest that you discuss with me what you are implementing and any extensions that you might add for extra marks, as what you consider to be worth bonus marks I may not.
Again, I will use a ray tracer as an example. For the demonstration, I would expect at least one, perhaps more, relatively complex images to be shown that the ray tracer generated. The images should demonstrate all of the features of the ray tracer. I will also want to see a simple image that we can render in a few seconds and be able to manipulate it in some form. For example, I should be able to create a scene with a few spheres and a polygon and to change surface properties, such as the index of refraction or the specular reflection coefficient, of a given primitive and generate a new image. For a ray tracer, rendering such a simple scene should be relatively fast (on the order of a few seconds for a small image). I would suggest being able to read some sort of geometry description from an input file for a ray tracer implementation to make the demonstration simple. You should be prepared to demonstrate and explain any extensions to the project. If you have any problems with completing a full implementation of your proposal, you should be prepared to discuss the problems encountered and why they occurred.