Charles McGarvey
mcgarvey@eng.utah.edu
-Project 3 Notes
+Project 4 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.
+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.
+1. All the mangling to get the data into a form that OpenGL likes happens
+in the draw function, so it's slow.
-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.
+2. The shaders do Phong lighting and texture mapping, but only two lights
+are supported at a time since that's all my laptop can do with the drivers
+I'm currently using.
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.
+quite picky about the depth and color space. Of course, 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)