CS5600 University of Utah Charles McGarvey mcgarvey@eng.utah.edu Project 3 Notes To build, just `make' it. You will need GNU make; it won't work well with any other kind of make(1). Once built, the executable is called rasterize. Caveats: 1. I happened to do Phong interpolation a little differently (i.e. not as good) compared to what is described in the project handout. Instead of calculating the lighting vectors in eye-coordinates, I did it all in world coordinates. So I had to save the camera position (already in world coordinates) from the scene file and transform each point vector of the geometry by just the view matrix. Anyway, the results look a little bit different than the provide images, so maybe I didn't do it quite right. 2. Contrary to the specification, the geometry color is not overridden by a texture map in this implementation. Rather, the geometry color is multiplied by the texture color, so blending can work with texture mapping. 3. The PPM importer doesn't handle comments, and the BMP importer is also quite picky about the depth and color space, though importing will fail without any useful explanation. Known to run on: * Linux 3.2.1-gentoo (x86_64) * NetBSD 5.1.2 (amd64) * Darwin 10.8.0 (in the Mac lab) * Win32 (tried with i686-mingw32-gcc)