Spring 2009 CS G140 Computer Graphics Assignment 3

### Professor Harriet Fell

#### 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 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.

#### Due

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)

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: fell@ccs.neu.edu
Phone: (617) 373-2198 / Fax: (617) 373-5121

Last Updated:
The URL for this document is: http://www.ccs.neu.edu/home/fell/CSG140/Assignments/CSG140SP2009prog3.html