COM3370 Computer Graphics
Assignment 2
Introduction
In this assignment, you will add reflection and transparency to your ray tracing program.
General description
- Continue to develop the ray tracing program you started in the last assignment. Your scene will again consist of 1 to 5 spheres with each sphere is given by its center (x, y, z), its radius, its color (R, G, B), and its coefficients: ka, kd, ks, kt (ambient, diffuse, specular, transmitting).
- At least one of your spheres must be reflective.
- At least one of your spheres must be transparent.
Here are the stages for developing your program. You may choose to do them in a different order.
- Make your program recursive (See "recursive ray tracing" in your text). Until you add reflection or transparency, there will be no recursive calls.
- Add reflection and get it working properly. Make sure that your scene has at least one reflective sphere and that other spheres are placed where the viewer will see their reflection.
- Add specular reflection (the highlight caused by the light source).
- Place a second reflective sphere in your scene and call on recursion (level 2, 3 or higher) so that reflections in reflections are visible.
- Add a bubble (non-refractive transparent sphere).
- Add a solid, refractive transparent sphere.
See Building a Ray Tracer - Page Two and
Building a Ray Tracer - Page Three for sample images. Note that the small images on that page are links to larger images.
Due
By midnight Tuesday, July 24, 2001.
Grading
The usual grading guidelines apply for late work.
For the performance parts of this program:
- first order reflection of objects - 20 points
- specular reflection of light source - 10 points
- higher order reflection - 10 points
- transparency without refraction - 10 points
- transparency with refraction - 10 points
- quality of the image(s) - 10 points
Code, comments, ease of use - 30 points
Turn in:
- your source code. Your code should be well organized and commented.
- a makefile, if necessary.
- a README file containing:
- your name, the date, and the assignment number
- a list of the files in the folder with comment for each explaining its purpose
- instructions on how to run your program
- a description of any bug that you have not been able to fix. A documented bug will not cost you as much as an undocumented one.
- You may include data files for up to three scenes.
- Please do NOT email ppm files or executable code. I will generate them from your source code.
Harriet Fell
College of Computer Science, Northeastern University
360 Huntington Avenue #161CN,
Boston, MA 02115
email: graphics@harrietfell.com
Phone: (617) 373-2198 / Fax: (617) 373-5121
Last Updated: June 12, 2001 2:30p.m.
The URL for this document is:
http://www.ccs.neu.edu/home/fell/COM3370/COM3370prog2.html