CS348B final project - Robert Bridson

1015May17/ contains the photos I took at 10:15am on May 17, along with MATLAB scripts to solve for
           their position, the solved values in matchdata.mat (MATLAB format) and also in the various
		   text files. Also my makeillum program is included, which once made and run reads in the
		   photos and the camera solves and generates the environment map. illum71.ppm is the assembled
		   map (it also generates all the intermediate images along the way, starting at illum0.ppm)

composite/ contains the code for compositing together the tiffs produced by my rib files (after you
           rename shiny.tiff/glossy0.tiff/etc. to object.tiff - it combines base.tiff (the photo),
		   ground.tiff, shadows.tiff, and object.tiff.

lrt/       contains the code for the raytracer, as well as .rib files, the touched up environment map
           (gates.tif), a sculpted figure (figure0.fls) and a texture file (rand.tex).

sculpt/    contains the interactive sculpting system along with two other example sculptures I made.

texture/   contains the random texture generator.

To recreate my final image the fastest way, simply run make in the
lrt directory, then run lrt on ground.rib, shadows.rib, and
glossy1.rib. Rename glossy1.tiff to object.tiff, and move the three
tiffs to the composite directory. Then run make in the composite
directory, and run composite with no arguments. The final image is
in comp.tiff.

Another demonstration is to make makeillum in the 1015May17 directory, and run it (with no args).
This will produce a sequence of .ppm's showing how the illumination map is constructed.

Finally, to do the sculpting, run make in the sculpt directory. sculpt either takes no arguments
(start with a 30x30x30 sphere) or the name of an existing sculpture file, e.g. hand1.fls. The
keyboard controls are:
  q - quit
  r - refine the grid
  e - enforce shared values in data structure (to work around a bug that cropped up - every now and
      then it will warn you that there are inconsistent values)
  [ - lower tool strength
  ] - raise tool strength
  - - lower tool radius
  = - raise tool radius
  a - use the add/subtract tool
  s - use the smooth/roughen tool
  w - write the sculpture out to "sculpt.fls"
  d - recompute signed distance (for debugging only - you shouldn't need to do this)
Click or drag the mouse with the left button to subtract or smooth, and with the right button
to add or roughen. Hold down control and drag with left or right buttons to rotate and zoom respectively.
Hold down shift and drag with left or right buttons to translate.

