THE GEORGE WASHINGTON UNIVERSITY
School of Engineering and Applied Science
Department of Electrical Engineering and Computer Science

CS 185
Interactive Computer Graphics I
Fall 2003

Professor J. L. Sibert

Assignment 6
Assigned: 11/24       Due: TBD

Write a simple ray caster that includes ambient/diffuse illumination.  The Raycasting handout should be helpful for this assignment.  There is also an interactive example that you can play with.

To demonstrate correct functioning of your ray caster, render a scene with at least three spheres. The scene should include at least two light sources.

viewing point: (0, 0, 0)

virtual screen: 2.0 by 2.0, at distance 10.0
(that is -1.0 < x < 1.0 and -1.0 < y < 1.0)

resolution: make height = width, use a small picture for debugging say 64 by 64.  Try a few different resolutions, remember, Ray casting is an image space algorithm with O(N2) complexity.

I'd suggest that you implement at least the following classes.

MyRay
MyLight
MyScene
MySphere

Think about where within these classes you want to have the methods that do the work of raycasting.