Spring 2007 CS G140 Computer Graphics Assignment 3
Assignment 3
Introduction
In this assignment, you will continue to build your ray tracer. The required features to add this time are:
planes, triangles, texture and bump maps.
General description
Continue to develop the ray tracing program you started in the last assignments. Your scene will again consist of a number of objects, with each given by its

type: sphere, plane, triangle(polygon),

defining spatial data:

sphere: center (x, y, z), radius

plane: point, normal vector or 3 points

triangle: 3 vertices in 3space

polygon: list of vertices in 3space

color (R, G, B)

texture, none or which algebraic type or which image file

bump, none or which bump function

coefficients: (k_{a}), k_{d}, k_{s}, k_{t}, pexp (ambient, diffuse, specular, transmitting, phong highlight exponent).
At least one of your spheres must be reflective to show the reflection of you planar textures and bump.
At least one of your spheres must have a bump map.
At least one of your planes (or triangles/polygons) must have an algebraic texture map.
At least one of your planes (or triangles/polygons) must have an image texture map.
At least one of your planes (or triangles/polygons) must have a bump map.
See Building a Ray Tracer  Page Two and
Building a Ray Tracer  Page Three for sample images. Note that the small images on those pages are links to larger images.
Due
By midnight Tuesday, March 20, 2007
Grading
The usual grading guidelines apply for late work.
The breakdown for grading is:
 planes in general position (10) (5 if you only allow planes parallel to coordinate planes)
 triangles in general position (10) (5 if you only allow triangles parallel to coordinate planes)
 algebraic texture maps, e.g. stripes or checks..., on a plane or polygon (10) and on a sphere (10)
 texture map from an image on a plane (10) and on a sphere (10)
 bump maps on a plane (10) and on a sphere (10)
 code, comments, readme, ease of use  (10)
 quality of images (10)
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 (unless they are used for textures), java classes, or executable code. I will generate them from your source code.
Harriet Fell
College of Computer Science, Northeastern University
360 Huntington Avenue #202 WVH,
Boston, MA 02115
email: graphics@harrietfell.com
Phone: (617) 3732198 / Fax: (617) 3735121
Last Updated:
The URL for this document is:
http://www.ccs.neu.edu/home/fell/CSG140/Assignments/CSG140SP2007prog3.html