Assignment:
Make a program that shows the bunny from a specific viewpoint
with specific lighting.
The image produced by this file is:
BUG NOTE: the normals in the bunny file may be flipped!
The files for the above image are the same bunny as for the last program,
and
lighting.urs. Note that antialiasing is optional.
Gamma correction should make the colors look like the image above.
Wikipedia has a discussion of the phong lighting model and a key detail is that the R in the formula is the reflection of the light direction vector. Here V is the unit vector of (lookfrom-lookat), L is the unit (scaled) vector given in Directional, alpha is phongN, and i_s and i_d are both the lightcolor given in Directional.
My Answer:

I used the 'h' vector instead of the 'r' vector from Professor Shirley's book on page 196 so I have a slightly different reflection.
This assignment took me about thirty hours or more to complete, mainly because I'm an idiot. I kept trying to hack it instead of completely understanding it.
Here's a page of some of my cooler looking attempts(or Extra Credit -- how ever you want to look at it... :) ):
Assignment 8 Attempts
With Java, this took 26.737 seconds for I/O and rasterization on a Celeron 500MHZ with 256MB of RAM.