Spring 2009 CS G140 Computer Graphics Assignment 3
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.
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 3-space or
polygon: list of vertices in 3-space
color (R, G, B)
texture, none or which algebraic type or which image file
bump, none or which bump function
coefficients: (ka), kd, ks, kt, 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.
By midnight Thursday, February 26, 2009
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 or polygons 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)
- 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.
College of Computer Science, Northeastern University
360 Huntington Avenue #202 WVH,
Boston, MA 02115
Phone: (617) 373-2198 / Fax: (617) 373-5121
The URL for this document is: