GENERATOR PROGRAMS
A generator program creates a Radiance description of some special
shape or object type. Such a program should always write a legal
Radiance scene description to the standard output. Usually, the
description will be geometry only, and will assume the object generated
to be of a single material type given on the command line. This makes
it easy to use the generator program as an escape command within a
Radiance scene description file. Because an octree created by oconv
(without the -f option) relies on the same geometry being there
later, a generator must always produce the same exact output from
the same input. Thus, using the clock to seed a random number
generator (for example) is forbidden. It is OK to have pseudorandom
behavior, as long as it is repeatable. (Note that even pseudorandom
implementations vary from one machine to another, so using them may
render the resulting octree unportable.)
A typical example of a generator program is genbox. Genbox takes as
arguments the name of the material, the name of the object, and the
width, depth and height of the box. The box is always created in the
positive octant and must be moved to the desired location with xform.
This is preferable to adding complexity to the genbox program itself.
As an example, genbox can be used to create a 4x3x5 house out of
the material "straw" at (-1,15,3) by including the following line in
the scene description file:
!genbox straw house 4 3 5 | xform -t -1 15 3
All contributions should be stored as compressed tar files that when
unpacked will create a directory with the program's name containing
a Makefile, the necessary source modules, and a manual page. Please
use the file genbox.tar.Z as a model.