Rayshade is a program for creating ray-traced images. It reads a description of a scene to be rendered and produces a color image corresponding to the description. Rayshade was designed to make it easy to create nice pictures. It was also meant to be flexible, easy to modify, and relatively fast.
The first version of rayshade was written in 1987-1988 at Princeton University with help and encouragement from David Dobkin and David Hoffman. That version was heavily based on a public-domain ``introductory'' ray tracer written by Roman Kuchkuda. Changes to rayshade from that point until version 4.0 were evolutionary in nature. The current version is to a large extent a re-write, and an attempt has been made to remove some of the fundamental problems present in previous incarnations.
I wish to thank the many people who have made contributions to the development of rayshade during the past four years. Thanks to Marc Andreessen, Ray Bellis, Dominique Boisvert, William Bouma, Allen Braunsdorf, Jeff Butterworth, Nick Carriero, Nancy Everson, Tom Friedel, Robert Funchess, David Gelernter, Mike Gigante, Ed Herderick, John Knuston, Raphael Manfredi, Lee Moore, Dietmar Saupe, Brian Wyvill, and the hundreds of others who have provided bug-fixes, suggestions, input files, encouragement, support, and other feedback.
David Dobkin first suggested that an extensible ray tracer would be a worthwhile project. Gavin Bell, David Hoffman, Lefteris Koutsofios, and Steven North were the first users of the original rayshade, and their feedback showed that the project might indeed have a future. In the Fall of 1988, Przemyslaw Prusinkiewicz encouraged me to develop rayshade further, and was, as always, full of ``insanely great'' ideas. The resulting version of rayshade was released on Usenet in 1989. Allan Snider was particularly helpful in finding bugs in version 3.0 and in making valuable suggestions as to how the program might be improved.
Rayshade version 4.0 was written by Craig Kolb and Rod Bogart during 1990-1991, with contributions of ideas and code made by many others. Pat Hanrahan's OOGL provided the spirit, if not the letter, of the modularity of the version 4.0. Thanks to Pat and to Mark VandeWettering for the ``net tracer'' conversations and for the inspiration to do something to clean up rayshade. Eric Haines saved the day on more than one occasion by suggesting improvements, finding bugs, and saying nice things about rayshade when I was all but ready to throw in the towel. Robert Skinner was kind enough to provide the Noise(), DNoise(), and other texturing functions and to allow them to be redistributed. Mark Podlipec provided the blob object and torus object, which uses Jochen Schwarze's cubic and quartic root-finding functions. Major Thanks to Rod Bogart for being willing to take the plunge and play such a large role in the development of version 4.0. I am most grateful to Benoit Mandelbrot for his support of this project and the inspiration he provided.
January 10, 1992 }