Charles McGarvey
mcgarvey@eng.utah.edu
-Project 1 Notes
+Project 3 Notes
-To build, just `make' it. You will need GNU make; it probably won't work
-with any other kind of make(1). The executable is called project1. It
-will produce no output except for the image files scene.ppm and scene.bmp.
+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.1.6-gentoo
- * NetBSD 5.1
- * Darwin 10.8.0
+ * 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)