Assignment 1 Summary
Installation
Built pbrt fairly smoothly on Mac OS X 10.4 PPC, using the standard ./configure, make, make install. pbrt 1.03 also required OpenEXR as a dependency and building that was smooth although the configure script gave me some random warnings/errors that I ignored. OpenEXR tools did not build but I didn't bother much with it since OS X can open .exr files by default.
Having to change my .bash_profile to set environment variables is a bit more heavyweight than most binaries I typically work with.
Render Process
To make best use of my time and computing resources (a Powerbook G4), it was important for me to reduce the resolution down to 150x150, area samples to 1, mesh loops to 1, and 1 sample per pixel. This dropped computing time from 1 minute down to 10 seconds while still giving me enough detail to see if I was getting in the right direction.
I kept logs of previous settings / images and changed one parameter at a time between renders so I could keep track of how each parameter affected shadows / lighting in the image. This helped me greatly when I tweaked it too much and found I had to go back to a previous set of parameters.
Experimentation
I tried to recreate the same lighting scene by changing the distance and focal angle of the camera in proportion with its intensity. That is, a distant light with a small spread can be made to look similar to a closer light with a large spread if the light color is manipulated correctly. It took me a while to get used to thinking in terms of camera space for geometric transformations.
I messed around a bit with trying to learn the properties between distance of camera vs. shadow length. It looks like they are directly proportional (the farther away the camera is, the longer the shadow gets). This makes sense to me, conceptually.
exrtopng
This binary ships as part of exrtools, which requires /usr/bin/pkg-config, not supported by default on Mac OS X. Since OS X can view .exr files natively, I didn't submit .png in my zip file since it requires me to use a Linux machine to convert.