
Introduction
============
	This is the documentation for the Rayshade Standard Header
Files.  These files were put together to help speed up the time it can
often take to create image files for Rayshade.  Also, they exist to
form a standard for certain surfaces and "superprimitives".

	The files were also designed to minimize memory usage.
Everything was #defined, so only the C preprocessor will use memory to
hold them.  After that, only the things you use from the Files will be
in Rayshade's memory.

	If you have something you think should be added to, deleted
from, or changed in this Standard set, email it to one of the
following addresses:

	Larry Coffin <lcoffin@clciris.chem.umr.edu>
	David DeBry <ddebry@dsd.es.com>

	These are the guys that created and now maintain the files.

	To be able to use the abilities offered you by the header
files, you need to do two things.  First, change the defined constant
"RSDEFS" in defs.rh to the top level rsdefs directory.

	Second,  put the following line at the top of your image file.

#include "defs.rh"

	Third, add the following switch to your Rayshade command
line:

-P -I(path to the .rh files)

	So if you had all the .rh files from this package in
/usr/people/ddebry/src/include/rsdefs, you'd do it this way:

-P -I/usr/people/ddebry/src/include/rsdefs

	The command "alias rayshade 'rayshade -P -I(path)'" works well to
keep you from having to type it in each time.

----------------------------------------------------------------------

Features
========
	The features in this package are divided into the following
groups: 

	1] Constants.............(see Constants.doc)
	2] Macros................(see Macros.doc)
	3] Frame types...........(see Views.doc)
	4] Superprimitives.......(see Objects.doc and CSG.doc)
	5] Surfaces..............(see Surfaces.doc)
	6] Textures..............(see Textures.doc)
	7] Examples..............(see Examples.doc)

----------------------------------------------------------------------

NOTES
=====

	The default clean.rh object file uses grids around csg trees which
helps speed up renderings for rayshade code with the csg "checkbounds" set
to FALSE (the original "bug"ed version of the code) rather than TRUE.  The
clean.rh.lists file is a faster version if "checkbounds" is set to TRUE, but
the difference is not great.  To make the change, just change the 
"checkbounds" flag in libray/libobj/csg.c in CsgMethods() from FALSE to TRUE,
then change to line '#include "clean.rh"' to '#include "clean.rh.lists"'
or rename clean.rh.lists to clean.rh.

