What Is It?
SPD stands for "Standard Procedural Database", and is a suite of applications that can automatically create complex and interesting scene files for many different ray tracers. Some of the output formats include DXF, QuickDraw3D/3DMF, VRML 2, POV-Ray, RTrace, Renderman RIB, etc.
SPD comes with complete source code in C, so you can study it, or build/add your own applications with it.
SPD is not shareware or freeware, it is Public Domain, which means you have unrestricted rights to do whatever you want with it!
SPD has been compiled to run on any 68020 or better computer, no FPU required. It runs fine under System 7 or 8, and runs fine (emulated) on PowerPCs.
What Is It Useful For?
It was originally written to create standardized benchmark scenes for different raytracers on different computer platforms.
You could use it to test your own ray tracer, to insure it handles complex reflection and refraction, and multiple light sources, and different primitive shapes.
It contains a powerful general-purpose library for creating many types of primitive objects & writing to many raytracer file formats. You could use this library to write your own auto-scene-generators.
It comes with several file-format readers (DXF, NFF, Wavefront OBJ), and you could add more and use this as a general-purpose file format converter, read in one scene file format and write to any other scene file format.
Eric Haines' Original Description...
This software is meant to act as a set of basic test images for ray tracing algorithms. The programs generate databases of objects which are fairly familiar and "standard" to the graphics community, such as the teapot, a fractal mountain, a tree, a recursively built tetrahedral structure, etc. I originally created them for my own testing of ray tracing efficiency schemes. Since their first release other researchers have used them to test new algorithms. In this way, research on algorithmic improvements can be compared in a more standardized way. If one researcher ray-traces a car, another a tree, the question arises, "How many cars to the tree?" With these databases we may be comparing oranges and apples, but it's better than comparing oranges and orangutans. In addition, this document outlines some statistics that are more meaningful to researchers than raw timing tests. Using these statistics along with the same scenes allows us to compare results in a more meaningful way.
Another interesting use for the SPD has been noted: debugging. By comparing the images and the statistics with the output of your own ray tracer, you can detect program errors. For example, "mount" is useful for checking if refraction rays are generated correctly, and "balls" can check for the correctness of eye and reflection rays.
The images for these databases and other information about them can be found in "A Proposal for Standard Graphics Environments," IEEE Computer Graphics and Applications, vol. 7, no. 11, November 1987, pp. 3-5. See IEEE CG&A, vol. 8, no. 1, January 1988, p. 18 for the correct image of the tree database (the only difference is that the sky is blue, not orange). The teapot database was added later, and consists of a shiny teapot on a shiny checkerboard.
Many raytracer file output options have been added, including:
Source Code
Full Source code (in C) is distributed with the archive, and can be compiled on the Mac with Metrowerks CodeWarrior, Symantec C, and MPW C compilers. Since it is vanilla C, it has also be compiled for Wintel machines, VAX, Sun, HP, etc. See the official distribution site for these other compiles.
This is the current project file, for CodeWarrior Pro 2. The project file has multiple targets, one for each application, one for the common library, and one to build all the apps. Simply choose "all-68K", and let it build everything for you.
Download Info
The MacOS version can be downloaded from here, or from any info-mac mirror. The official download site is at the ACM site, which should contain all the latest versions.
|