		  Rayshade and Utah Raster Toolkit slides
==============================================================================

				Mark Maimone
		Carnegie Mellon School of Computer Science
				mwm@cmu.edu

				3 June 1992

==============================================================================

This is a collection of 33+ slides I generated to introduce Rayshade (and
the Utah Raster Toolkit) to my deparment.  They won't be right for
everybody, because I didn't attempt to cover things in great detail; I just
wanted to whet some appetites.  Also, several of the slides are very
site-specific (enhancements I added, physical location of the code on our
filesystem, etc).  So feel free to pick and choose, and make changes to
anything.  I've provided the text of the slides in LaTeX, and the .ray files
used to generate the rendered images.  If you do quote from them
extensively, please mention where they came from, that's all I ask.

I used both color and greyscale outputs; color for the actual slides,
greyscale (in the original) for the photocopies.  On my unix system, I
stored all the greyscale in a "bw" subdirectory, color in a "color"
subdirectory, and then did a "ln -s color ps" or "ln -s bw ps" to create a
symbolic link to the appropriate directory.  Your mileage may vary, you
might have to play with the makefile if this doesn't work for you.  Of all
the source files, only two differ between the color and greyscale versions:
pacbw.ray uses different backgrounds than pac.ray, and camera.bw is an idraw
drawing with solid lines rather than colored.  These exceptions are taken
care of by the Makefile's in the bw and color directories.

==============================================================================
			      HOW TO MAKE SLIDES

	First make sure you've got all the image-generating software:

		Rayshade 4.0.0 or later
		Utah Raster Toolkit 3.0
		LaTeX
		enscript	[if you don't have this, plug in the name of
				 any text->PostScript converter.  Hopefully
				 it will generate bold, 15point text]
		[optional] GNUplot 3.0

	Now you *SHOULDN'T NEED TO DO THIS STEP*, unless you've made changes
to the .ray files or something.  Be aware that this step will invoke GNUplot
to generate depth.ps.

		% cd slides/ray	[DON'T DO THIS!!!]
		% make		[DON'T DO THIS!!!]

	Decide whether you want black and white images or color.  For color
slides, do this:

	COLOR	% cd slides
	COLOR	% ln -s color ps
	COLOR	% cd color		[or cd ps, doesn't matter]
	COLOR	% make

For black and white, do this instead:

	B&W	% cd slides
	B&W	% ln -s bw ps
	B&W	% cd bw			[or cd ps, doesn't matter]
	B&W	% make

This will convert the existing .rle files (and others) into PostScript
format.  Now, if you don't have the "enscript" program, change the file
slides/Makefile to use a different text-to-PostScript formatter.  Finally,
generate the LaTeX output:

		% cd slides
		% make

(ignoring the many warnings about overfull hboxs and such) to give you
following files:

	ray.ps:		pages 1-17 of the slides
	page18.ps:	page 18
	page19.ps:	page 19
	page20.ps:	page 20
	urt.ps:		pages 21-33 of the slides

You may want to print ray.ps in a fwe different pieces, it'll be 1.7meg in
black and white and nearly 4meg in color.

==============================================================================
EXTENSIONS:  The only extensions I mention in these slides are depth map
generation, and conversion between our local Generalized Image Format (GIL)
and URT format.  The depth map has been incorporated into David Debry's
4.0.6enh version of rayshade.  Unfortunately, the URT slides are highly
biased toward comparing the URT with our GIL, so they may not be useful
outside of CMU.  But then again, if you want to contrast the URT with
*your* local image format, you might get some ideas from them.  [send me
mail if you want the gil2rle.c and rle2gil.c programs themselves]

CHEATING:  OK, I cheated somewhat in making these slides.  That is, several
of the renderings aren't *exactly* generated by the sample code.  Here are the
exeptions that I remember:

	-- sphere.ray -- (slide 4) -- The sphere has color (although none is
	   given in the example text)
	-- ap1.ray, ap2.ray, mancyl.ray, diff.ray -- (slide 5) -- The
	   rendered images have a soft-colored background plane (because
	   rayshade has a black background by default, which looks terrible
	   on an overhead, as you can see from slide 4); the text on the
	   slide doesn't mention the background.
	-- depth.plot -- (slides 8,9) -- As is explained in the Z buffer
	   (depth map) extension code, I didn't use the output of "rayshade
	   -z" directly; rather, it's been filtered through an awk script.
	   So the data file "ray/depth.plot" is not *exactly* the output of
	   "rayshade -z", but it's pretty darn close.  See the code in
	   4.0.6enh for a more complete explanation.

ADDITIONAL SLIDES:  When giving a talk, make as many extra slides of
rendered images as you can.  People want to see pretty pictures, not words!
In particular, I suggest making blown-up versions of pac.rle and
depthcolor.rle (the first because it's cute, the second because it's hard to
grasp).  There's nothing in the makefile for this, just use:

		rletops -h 6 -C pac.rle > pac.ps

or something similar.  I'm not going to explain rletops, read the man page.
They also want to know how long it takes to generate the pictures, so keep
that in mind too.

REBUILDING THE SLIDES:  It can take a while to generate the slides
initially, because you may have to run rayshade nearly a dozen times to get
the RLE images.  So try not to delete them prematurely!

COMMENTS:  Send your comments to me, Mark Maimone, mwm@cmu.edu.
Unfortunately I'm in thesis mode, so I can't offer to make lots of changes.
But I'll try to help get you started if I can.
