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.