#! /bin/sh
# This is a shell archive.  Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file".  To overwrite existing
# files, type "sh file -c".  You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g..  If this archive is complete, you
# will see the following message at the end:
#		"End of archive 2 (of 19)."
# Contents:  Doc/Guide/guide.tex Doc/TODO Examples/balls.ray
#   Examples/coin.ray Examples/solids.ray etc/Makefile.SH
#   libray/libcommon/ray.h libray/libcommon/scale.h
#   libray/liblight/extended.h libray/liblight/infinite.h
#   libray/liblight/jittered.h libray/liblight/point.h
#   libray/liblight/spot.h libray/libobj/box.h libray/libobj/cone.h
#   libray/libobj/disc.h libray/libobj/list.h libray/libobj/plane.h
#   libray/libobj/sphere.h libray/libsurf/fog.h
#   libray/libsurf/fogdeck.h libray/libsurf/mist.h
#   libray/libtext/blotch.h libray/libtext/checker.h
#   libray/libtext/cloud.h libray/libtext/fbm.h
#   libray/libtext/mapping.h libray/libtext/marble.h
#   libray/libtext/mount.h libray/libtext/sky.h
#   libray/libtext/stripe.h libray/libtext/windy.h libshade/funcdefs.h
#   libshade/picture.h rayshade/raytrace.h
# Wrapped by cek@oyoy on Mon Oct 28 20:03:28 1991
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'Doc/Guide/guide.tex' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'Doc/Guide/guide.tex'\"
else
echo shar: Extracting \"'Doc/Guide/guide.tex'\" \(1000 characters\)
sed "s/^X//" >'Doc/Guide/guide.tex' <<'END_OF_FILE'
X%
X% Rayshde User's Guide
X%
X% $Id: guide.tex,v 4.0 91/07/17 14:24:11 kolb Exp Locker: kolb $
X%
X% Keyword definition
X\newenvironment{defkey}[2]{\begin{description} \item[] {\tt #1\/} #2 \\}{\end{description}}
X% Primitive definition
X\newenvironment{defprim}[2]{\begin{description} \item[] {\tt #1\/} #2 \\}{\end{description}}
X% Tokens
X\newcommand{\evec}[1]{$\overrightarrow{\em {#1}}$}
X% example environment
X\newenvironment{example}{\begin{verbatim}}{\end{verbatim}}
X
X\documentstyle[11pt]{report}
X
X\newcommand{\Rayshade}{\mbox{{\em Rayshade}\/} }
X\newcommand{\rayshade}{\mbox{{\em rayshade}\/} }
X
X\title{Rayshade User's Guide and Reference Manual}
X\author{Craig E. Kolb}
X\date{Draft 0.2 \\
XJuly 12, 1991}
X\begin{document}
X\maketitle
X\pagenumbering{roman}
X
X\tableofcontents
X\parskip=0.1in
X\input{preface}
X\input{intro}
X\input{running}
X\input{camera}
X\input{lights}
X\input{objects}
X\input{surfaces}
X\input{transform}
X\input{texture}
X\appendix
X\input{options}
X\input{animate}
X\input{height}
X\end{document}
END_OF_FILE
if test 1000 -ne `wc -c <'Doc/Guide/guide.tex'`; then
    echo shar: \"'Doc/Guide/guide.tex'\" unpacked with wrong size!
fi
# end of 'Doc/Guide/guide.tex'
fi
if test -f 'Doc/TODO' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'Doc/TODO'\"
else
echo shar: Extracting \"'Doc/TODO'\" \(1173 characters\)
sed "s/^X//" >'Doc/TODO' <<'END_OF_FILE'
X---------
XTODO List
X---------
X
XNon-URT images upside-down.
X
XIf World object has only one subobject, and the World
Xis neither textured nor transformed (can't do this anyway),
Xthen make that object the World object.  In theory we could
Xdo this (collapsing) throughout the modeling tree.
X
X> 2 objects in CSG objects
X
XCreate nasty, rigorous test scenes, more examples in general.
X
XAnimated lights & camera.
X
XCubic interpolation functions.
X
XAnimated primitive/texture/surface/etc parameters.
X
XPut Linda code back in place.
X
XUser-selectable primitives/aggregates/lights/textures at compile time?
X
XTechnical Documentation
X
XMake heightfields be stored in fixed-point, and take care of byte-ordering
Xproblems so that height fields are transportable from machine to machine.
X
XIs Bayes' theorem-based polygon intersection method better?
X
XAdaptive gridding.
X
XBetter antialiasing.
X
XAdd an option to perform sorting during ray/List intersection tests so
Xobjects are tested approximately in order.
X
XExpr compressor program:  Spits out .ray file with just floats.
X
XOptimize blur for non-jitter case (don't exapnd bboxes, etc).
X
XAnimated scales and translations can modify matrix directly.
END_OF_FILE
if test 1173 -ne `wc -c <'Doc/TODO'`; then
    echo shar: \"'Doc/TODO'\" unpacked with wrong size!
fi
# end of 'Doc/TODO'
fi
if test -f 'Examples/balls.ray' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'Examples/balls.ray'\"
else
echo shar: Extracting \"'Examples/balls.ray'\" \(1001 characters\)
sed "s/^X//" >'Examples/balls.ray' <<'END_OF_FILE'
X/* Converted by rsconvert */
X/*
X * This file is the result of feeding "balls" from Eric Haines'
X * SPD through nff2shade.awk and then hand-tweaking things.
X */
Xmaxdepth 3 
Xeyep 2.1 1.3 1.7 
Xlookp 0 0 0 
Xup 0 0 1 
Xfov 45 
Xscreen 256 256 
Xbackground 0.078 0.361 0.753 
Xsurface s1 
X	ambient 0.15 0.1 0.045 
X	diffuse 1 0.75 0.33 
Xplane s1 0 0 -0.5 0 0 1 
Xsurface s2 
X	ambient 0.035 0.0325 0.025 
X	diffuse 0.5 0.45 0.35 
X	specular 0.8 0.8 0.8 
X	specpow 3 
X	reflect 0.5 
Xsphere s2 0.5 0 0 0 texture bump 0.3 scale 0.04 0.04 0.04 
Xsphere s2 0.166667 0.272166 0.272166 0.544331 
Xsphere s2 0.166667 0.643951 0.172546 0 
Xsphere s2 0.166667 0.172546 0.643951 0 
Xsphere s2 0.166667 -0.371785 0.0996195 0.544331 
Xsphere s2 0.166667 -0.471405 0.471405 0 
Xsphere s2 0.166667 -0.643951 -0.172546 0 
Xsphere s2 0.166667 0.0996195 -0.371785 0.544331 
Xsphere s2 0.166667 -0.172546 -0.643951 0 
Xsphere s2 0.166667 0.471405 -0.471405 0 
Xlight 0.288675 point 4 3 2 
Xlight 0.288675 point 1 -4 4 
Xlight 0.288675 point -3 1 5 
END_OF_FILE
if test 1001 -ne `wc -c <'Examples/balls.ray'`; then
    echo shar: \"'Examples/balls.ray'\" unpacked with wrong size!
fi
# end of 'Examples/balls.ray'
fi
if test -f 'Examples/coin.ray' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'Examples/coin.ray'\"
else
echo shar: Extracting \"'Examples/coin.ray'\" \(1074 characters\)
sed "s/^X//" >'Examples/coin.ray' <<'END_OF_FILE'
X/*
X * Rayshade animation example.
X * Copperish coin flipping on ground plane.
X *
X * Craig Kolb and Rod Bogart
X * March, 1991
X *
X * $Id: coin.ray,v 4.0 91/07/17 14:25:52 kolb Exp Locker: kolb $
X *
X * $Log:	coin.ray,v $
X * Revision 4.0  91/07/17  14:25:52  kolb
X * Initial version.
X * 
X *
X */
Xsurface copper ambient 0.2 0.05 0.05 diffuse 0.7 0.3 0.2
X	specular 0.8 0.4 0.4
Xsample 4 jitter
Xplane 0 0 0 0 0 1
X
Xname coin list
X	cylinder 1  0 0 0  0 0 0.2
X	disc 1 0 0 0  0 0 -1
X	disc 1 0 0 .2  0 0 1
Xend
X
Xframes 32
Xdefine length 30	/* # of frames of movement */
Xdefine flips 4		/* # of flips performed by coin */
Xdefine zenith 7		/* height at top of flip */
X
Xdefine spin (linear(0, 0, length, 360 * flips))	 /* theta */
Xdefine ground (linear(0, 2, length, -2))	 /* translation */
X
Xdefine shift (linear(0,0,length,length) - length / 2)
Xdefine height (zenith * ( 1 - shift * shift / (length * length / 4) ))
X
Xobject copper coin
X	rotate 1 -1 0  (spin)
X	translate (ground) (ground) (height)
X
Xeyep 0 -9 4
Xlookp 0 0 (zenith / 2)
Xfov 55
Xscreen 400 400
Xshutter 1
Xframelength 1
Xstarttime -1
END_OF_FILE
if test 1074 -ne `wc -c <'Examples/coin.ray'`; then
    echo shar: \"'Examples/coin.ray'\" unpacked with wrong size!
fi
# end of 'Examples/coin.ray'
fi
if test -f 'Examples/solids.ray' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'Examples/solids.ray'\"
else
echo shar: Extracting \"'Examples/solids.ray'\" \(987 characters\)
sed "s/^X//" >'Examples/solids.ray' <<'END_OF_FILE'
X/* Converted using rsconvert */
X/*
X * solids.ray
X *
X * Example rayshade input file.
X *
X * Render using:
X *	rayshade solids.ray > solids.rle
X * Craig Kolb 9/89
X */
Xeyep 0 25 7 
Xscreen 400 400
Xlight 1.4 extended  1.5  -15 20 15
Xsurface red 
X	ambient 0.02 0 0 
X	diffuse 0.5 0 0 
X	specular 0.5 0.5 0.5
X	specpow 32 
X	reflect 1.
Xsurface blacktile 
X	ambient 0.01 0.015 0.01 
X	diffuse 0.02 0.03 0.02 
X	specular 0.15 0.15 0.15
X	specpow 30 
Xsurface white 
X	ambient 0.06 0.06 0.04 
X	diffuse 0.5 0.5 0.25 
X	specular 0.2 0.2 0.2 
X	specpow 18 
X	reflect 1.
Xsurface glass 
X	ambient 0.02 0.02 0.02 
X	specular 0.16 0.16 0.16
X	specpow 25 
X	reflect 1.
X	transp 0.3 body 1. 1. 1. index 1.15 
X
Xsphere red 4 3 0 0 
X/*
X * Cone actually sticks through ground plane.  This solves problems
X * that arise when the bottom of the cone and the plane are coincident.
X */
Xcone glass 4 -5 3 -4.1 0 -5 3 4 
X
Xplane white 0 0 -4 0 0 1 
X		texture marble scale 4 4 4 
X		texture checker blacktile translate 0 0 0.3 scale 4 4 4 
END_OF_FILE
if test 987 -ne `wc -c <'Examples/solids.ray'`; then
    echo shar: \"'Examples/solids.ray'\" unpacked with wrong size!
fi
# end of 'Examples/solids.ray'
fi
if test -f 'etc/Makefile.SH' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'etc/Makefile.SH'\"
else
echo shar: Extracting \"'etc/Makefile.SH'\" \(1138 characters\)
sed "s/^X//" >'etc/Makefile.SH' <<'END_OF_FILE'
Xcase $CONFIG in
X'')
X    if test ! -f config.sh; then
X	ln ../config.sh . || \
X	ln ../../config.sh . || \
X	ln ../../../config.sh . || \
X	(echo "Can't find config.sh."; exit 1)
X    fi
X    . config.sh
X    ;;
Xesac
X: This forces SH files to create target in same directory as SH file.
X: This is so that make depend always knows where to find SH derivatives.
Xcase "$0" in
X*/*) cd `expr X$0 : 'X\(.*\)/'` ;;
Xesac
Xecho "Extracting etc/Makefile (with variable substitutions)"
X: This section of the file will have variable substitutions done on it.
X: Move anything that needs config subs from !NO!SUBS! section to !GROK!THIS!.
X: Protect any dollar signs and backticks that you do not want interpreted
X: by putting a backslash in front.  You may delete these comments.
X$spitshell >Makefile <<!GROK!THIS!
X!GROK!THIS!
X
X: In the following dollars and backticks do not need the extra backslash.
X$spitshell >>Makefile <<'!NO!SUBS!'
XSTUFF = rsconvert
XSHELL = /bin/sh
X
Xdefault:
X	for i in $(STUFF); do \
X		(cd $$i && $(MAKE)); \
X	done
X
Xdepend clean:
X	for i in $(STUFF); do \
X		(cd $$i && $(MAKE) $@); \
X	done
X!NO!SUBS!
Xchmod 755 Makefile
X$eunicefix Makefile
END_OF_FILE
if test 1138 -ne `wc -c <'etc/Makefile.SH'`; then
    echo shar: \"'etc/Makefile.SH'\" unpacked with wrong size!
fi
chmod +x 'etc/Makefile.SH'
# end of 'etc/Makefile.SH'
fi
if test -f 'libray/libcommon/ray.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'libray/libcommon/ray.h'\"
else
echo shar: Extracting \"'libray/libcommon/ray.h'\" \(926 characters\)
sed "s/^X//" >'libray/libcommon/ray.h' <<'END_OF_FILE'
X/*
X * ray.h
X *
X * Copyright (C) 1989, 1991, Craig E. Kolb
X * All rights reserved.
X *
X * This software may be freely copied, modified, and redistributed
X * provided that this copyright notice is preserved on all copies.
X *
X * You may not distribute this software, in whole or in part, as part of
X * any commercial product without the express consent of the authors.
X *
X * There is no warranty or other guarantee of fitness of this software
X * for any purpose.  It is provided solely "as is".
X *
X * $Id: ray.h,v 4.0 91/07/17 14:31:08 kolb Exp Locker: kolb $
X *
X * $Log:	ray.h,v $
X * Revision 4.0  91/07/17  14:31:08  kolb
X * Initial version.
X * 
X */
X#ifndef RAY_H
X#define RAY_H
X/* 
X * Ray
X */
Xtypedef struct Ray {
X	Vector	pos,			/* Origin */
X		dir;			/* Direction */
X	int 	depth,			/* depth in ray tree */
X		sample;			/* current sample # */
X	Float	time;
X	struct Medium *media;		/* Medium ray is passing through */
X} Ray;
X#endif
END_OF_FILE
if test 926 -ne `wc -c <'libray/libcommon/ray.h'`; then
    echo shar: \"'libray/libcommon/ray.h'\" unpacked with wrong size!
fi
# end of 'libray/libcommon/ray.h'
fi
if test -f 'libray/libcommon/scale.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'libray/libcommon/scale.h'\"
else
echo shar: Extracting \"'libray/libcommon/scale.h'\" \(1105 characters\)
sed "s/^X//" >'libray/libcommon/scale.h' <<'END_OF_FILE'
X/*
X * scale.h
X *
X * Copyright (C) 1989, 1991, Craig E. Kolb
X * All rights reserved.
X *
X * This software may be freely copied, modified, and redistributed
X * provided that this copyright notice is preserved on all copies.
X *
X * You may not distribute this software, in whole or in part, as part of
X * any commercial product without the express consent of the authors.
X * 
X * There is no warranty or other guarantee of fitness of this software
X * for any purpose.  It is provided solely "as is".
X *
X * $Id: scale.h,v 4.0 91/07/17 14:32:17 kolb Exp Locker: kolb $
X *
X * $Log:	scale.h,v $
X * Revision 4.0  91/07/17  14:32:17  kolb
X * Initial version.
X * 
X */
X#ifndef SCALE_H
X#define SCALE_H
X
X#define TransScaleCreate()		TransCreate((TransRef)ScaleCreate(), ScaleMethods())
X
X#define TransScaleSetX(t, v)		TransAssoc(t, &((Scale *)t->tr)->x, v)
X#define TransScaleSetY(t, v)		TransAssoc(t, &((Scale *)t->tr)->y, v)
X#define TransScaleSetZ(t, v)		TransAssoc(t, &((Scale *)t->tr)->z, v)
X
Xtypedef Vector Scale;
X
Xextern Scale *ScaleCreate();
Xextern TransMethods *ScaleMethods();
Xextern void ScalePropagate();
X
X#endif
END_OF_FILE
if test 1105 -ne `wc -c <'libray/libcommon/scale.h'`; then
    echo shar: \"'libray/libcommon/scale.h'\" unpacked with wrong size!
fi
# end of 'libray/libcommon/scale.h'
fi
if test -f 'libray/liblight/extended.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'libray/liblight/extended.h'\"
else
echo shar: Extracting \"'libray/liblight/extended.h'\" \(1028 characters\)
sed "s/^X//" >'libray/liblight/extended.h' <<'END_OF_FILE'
X/*
X * extended.h
X *
X * Copyright (C) 1989, 1991, Craig E. Kolb
X * All rights reserved.
X *
X * This software may be freely copied, modified, and redistributed
X * provided that this copyright notice is preserved on all copies.
X *
X * You may not distribute this software, in whole or in part, as part of
X * any commercial product without the express consent of the authors.
X *
X * There is no warranty or other guarantee of fitness of this software
X * for any purpose.  It is provided solely "as is".
X *
X * $Id: extended.h,v 4.0 91/07/17 14:34:18 kolb Exp Locker: kolb $
X *
X * $Log:	extended.h,v $
X * Revision 4.0  91/07/17  14:34:18  kolb
X * Initial version.
X * 
X */
X#ifndef EXTENDED_H
X#define EXTENDED_H
X
X#define LightExtendedCreate(c,r,p) LightCreate( \
X		(LightRef)ExtendedCreate(r,p), ExtendedMethods(), c)
X
Xtypedef struct {
X	Vector pos;
X	Float radius;
X} Extended;
X
Xextern Extended *ExtendedCreate();
Xextern LightMethods *ExtendedMethods();
Xextern int ExtendedIntens();
Xextern void ExtendedDirection();
X
X#endif /* EXTENDED_H */
END_OF_FILE
if test 1028 -ne `wc -c <'libray/liblight/extended.h'`; then
    echo shar: \"'libray/liblight/extended.h'\" unpacked with wrong size!
fi
# end of 'libray/liblight/extended.h'
fi
if test -f 'libray/liblight/infinite.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'libray/liblight/infinite.h'\"
else
echo shar: Extracting \"'libray/liblight/infinite.h'\" \(1011 characters\)
sed "s/^X//" >'libray/liblight/infinite.h' <<'END_OF_FILE'
X/*
X * infinite.h
X *
X * Copyright (C) 1989, 1991, Craig E. Kolb
X * All rights reserved.
X *
X * This software may be freely copied, modified, and redistributed
X * provided that this copyright notice is preserved on all copies.
X *
X * You may not distribute this software, in whole or in part, as part of
X * any commercial product without the express consent of the authors.
X *
X * There is no warranty or other guarantee of fitness of this software
X * for any purpose.  It is provided solely "as is".
X *
X * $Id: infinite.h,v 4.0 91/07/17 14:34:34 kolb Exp Locker: kolb $
X *
X * $Log:	infinite.h,v $
X * Revision 4.0  91/07/17  14:34:34  kolb
X * Initial version.
X * 
X */
X#ifndef INFINITE_H
X#define INFINITE_H
X
X#define LightInfiniteCreate(c,d) LightCreate((LightRef)InfiniteCreate(d), \
X						InfiniteMethods(), c)
Xtypedef struct {
X	Vector dir;
X} Infinite;
X
Xextern Infinite *InfiniteCreate();
Xextern LightMethods *InfiniteMethods();
Xextern int InfiniteIntens();
Xextern void InfiniteDirection();
X
X#endif /* INFINITE_H */
END_OF_FILE
if test 1011 -ne `wc -c <'libray/liblight/infinite.h'`; then
    echo shar: \"'libray/liblight/infinite.h'\" unpacked with wrong size!
fi
# end of 'libray/liblight/infinite.h'
fi
if test -f 'libray/liblight/jittered.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'libray/liblight/jittered.h'\"
else
echo shar: Extracting \"'libray/liblight/jittered.h'\" \(1033 characters\)
sed "s/^X//" >'libray/liblight/jittered.h' <<'END_OF_FILE'
X/*
X * jittered.h
X *
X * Copyright (C) 1989, 1991, Craig E. Kolb
X * All rights reserved.
X *
X * This software may be freely copied, modified, and redistributed
X * provided that this copyright notice is preserved on all copies.
X *
X * You may not distribute this software, in whole or in part, as part of
X * any commercial product without the express consent of the authors.
X *
X * There is no warranty or other guarantee of fitness of this software
X * for any purpose.  It is provided solely "as is".
X *
X * $Id: jittered.h,v 4.0 91/07/17 14:34:50 kolb Exp Locker: kolb $
X *
X * $Log:	jittered.h,v $
X * Revision 4.0  91/07/17  14:34:50  kolb
X * Initial version.
X * 
X */
X#ifndef JITTERED_H
X#define JITTERED_H
X
X#define LightJitteredCreate(c,p,u,v) LightCreate( \
X			(LightRef)JitteredCreate(p,u,v), JitteredMethods(), c)
Xtypedef struct {
X	Vector pos, curpos, e1, e2;
X} Jittered;
X
Xextern Jittered *JitteredCreate();
Xextern LightMethods *JitteredMethods();
Xextern int JitteredIntens();
Xextern void JitteredDirection();
X
X#endif /* JITTERED_H */
END_OF_FILE
if test 1033 -ne `wc -c <'libray/liblight/jittered.h'`; then
    echo shar: \"'libray/liblight/jittered.h'\" unpacked with wrong size!
fi
# end of 'libray/liblight/jittered.h'
fi
if test -f 'libray/liblight/point.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'libray/liblight/point.h'\"
else
echo shar: Extracting \"'libray/liblight/point.h'\" \(975 characters\)
sed "s/^X//" >'libray/liblight/point.h' <<'END_OF_FILE'
X/*
X * point.h
X *
X * Copyright (C) 1989, 1991, Craig E. Kolb
X * All rights reserved.
X *
X * This software may be freely copied, modified, and redistributed
X * provided that this copyright notice is preserved on all copies.
X *
X * You may not distribute this software, in whole or in part, as part of
X * any commercial product without the express consent of the authors.
X *
X * There is no warranty or other guarantee of fitness of this software
X * for any purpose.  It is provided solely "as is".
X *
X * $Id: point.h,v 4.0 91/07/17 14:35:27 kolb Exp Locker: kolb $
X *
X * $Log:	point.h,v $
X * Revision 4.0  91/07/17  14:35:27  kolb
X * Initial version.
X * 
X */
X#ifndef POINT_H
X#define POINT_H
X
X#define LightPointCreate(c,p) LightCreate((LightRef)PointCreate(p), \
X					PointMethods(),c)
X
Xtypedef struct {
X	Vector pos;
X} Pointlight;
X
Xextern Pointlight *PointCreate();
Xextern LightMethods *PointMethods();
Xextern int PointIntens();
Xextern void PointDirection();
X
X#endif /* POINT_H */
END_OF_FILE
if test 975 -ne `wc -c <'libray/liblight/point.h'`; then
    echo shar: \"'libray/liblight/point.h'\" unpacked with wrong size!
fi
# end of 'libray/liblight/point.h'
fi
if test -f 'libray/liblight/spot.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'libray/liblight/spot.h'\"
else
echo shar: Extracting \"'libray/liblight/spot.h'\" \(1010 characters\)
sed "s/^X//" >'libray/liblight/spot.h' <<'END_OF_FILE'
X/*
X * spot.h
X *
X * Copyright (C) 1989, 1991, Craig E. Kolb
X * All rights reserved.
X *
X * This software may be freely copied, modified, and redistributed
X * provided that this copyright notice is preserved on all copies.
X *
X * You may not distribute this software, in whole or in part, as part of
X * any commercial product without the express consent of the authors.
X *
X * There is no warranty or other guarantee of fitness of this software
X * for any purpose.  It is provided solely "as is".
X *
X * $Id: spot.h,v 4.0 91/07/17 14:35:50 kolb Exp Locker: kolb $
X *
X * $Log:	spot.h,v $
X * Revision 4.0  91/07/17  14:35:50  kolb
X * Initial version.
X * 
X */
X#ifndef SPOT_H
X#define SPOT_H
X
X#define LightSpotCreate(c,f,t,p,i,o) LightCreate( \
X			(LightRef)SpotCreate(f,t,p,i,o), SpotMethods(), c)
Xtypedef struct {
X	Vector pos, dir;
X	Float coef, radius, falloff;
X} Spotlight;
X
Xextern Spotlight *SpotCreate();
Xextern LightMethods *SpotMethods();
Xextern int SpotIntens();
Xextern void SpotDirection();
X
X#endif /* SPOT_H */
END_OF_FILE
if test 1010 -ne `wc -c <'libray/liblight/spot.h'`; then
    echo shar: \"'libray/liblight/spot.h'\" unpacked with wrong size!
fi
# end of 'libray/liblight/spot.h'
fi
if test -f 'libray/libobj/box.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'libray/libobj/box.h'\"
else
echo shar: Extracting \"'libray/libobj/box.h'\" \(1007 characters\)
sed "s/^X//" >'libray/libobj/box.h' <<'END_OF_FILE'
X/*
X * box.h
X *
X * Copyright (C) 1989, 1991, Craig E. Kolb
X * All rights reserved.
X *
X * This software may be freely copied, modified, and redistributed
X * provided that this copyright notice is preserved on all copies.
X *
X * You may not distribute this software, in whole or in part, as part of
X * any commercial product without the express consent of the authors.
X *
X * There is no warranty or other guarantee of fitness of this software
X * for any purpose.  It is provided solely "as is".
X *
X * $Id: box.h,v 4.0 91/07/17 14:36:38 kolb Exp Locker: kolb $
X *
X * $Log:	box.h,v $
X * Revision 4.0  91/07/17  14:36:38  kolb
X * Initial version.
X * 
X */
X#ifndef BOX_H
X#define BOX_H
X
X#define GeomBoxCreate(a,b) GeomCreate((GeomRef)BoxCreate(a,b), BoxMethods())
X
X/*
X * Box
X */
Xtypedef struct box {
X	Float bounds[2][3];
X} Box;
X
Xextern Box	*BoxCreate();
Xextern int	BoxIntersect(), BoxEnter(), BoxNormal();
Xextern void	BoxBounds(), BoxStats();
Xextern char	*BoxName();
Xextern Methods	*BoxMethods();
X
X#endif /* BOX_H */
END_OF_FILE
if test 1007 -ne `wc -c <'libray/libobj/box.h'`; then
    echo shar: \"'libray/libobj/box.h'\" unpacked with wrong size!
fi
# end of 'libray/libobj/box.h'
fi
if test -f 'libray/libobj/cone.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'libray/libobj/cone.h'\"
else
echo shar: Extracting \"'libray/libobj/cone.h'\" \(1069 characters\)
sed "s/^X//" >'libray/libobj/cone.h' <<'END_OF_FILE'
X/*
X * cone.h
X *
X * Copyright (C) 1989, 1991, Craig E. Kolb
X * All rights reserved.
X *
X * This software may be freely copied, modified, and redistributed
X * provided that this copyright notice is preserved on all copies.
X *
X * You may not distribute this software, in whole or in part, as part of
X * any commercial product without the express consent of the authors.
X *
X * There is no warranty or other guarantee of fitness of this software
X * for any purpose.  It is provided solely "as is".
X *
X * $Id: cone.h,v 4.0 91/07/17 14:36:49 kolb Exp Locker: kolb $
X *
X * $Log:	cone.h,v $
X * Revision 4.0  91/07/17  14:36:49  kolb
X * Initial version.
X * 
X */
X#ifndef CONE_H
X#define CONE_H
X
X#define GeomConeCreate(c,a,r1,r2) GeomCreate((GeomRef)ConeCreate(c,a,r1,r2), \
X					ConeMethods())
X
X/*
X * Cone
X */
Xtypedef struct cone {
X	Float start_dist;
X	Trans trans;
X} Cone;
X
Xextern Cone	*ConeCreate();
Xextern int	ConeIntersect(), ConeEnter(), ConeNormal();
Xextern void	ConeBounds(), ConeUV(), ConeStats();
Xextern char	*ConeName();
Xextern Methods	*ConeMethods();
X
X#endif /* CONE_H */
END_OF_FILE
if test 1069 -ne `wc -c <'libray/libobj/cone.h'`; then
    echo shar: \"'libray/libobj/cone.h'\" unpacked with wrong size!
fi
# end of 'libray/libobj/cone.h'
fi
if test -f 'libray/libobj/disc.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'libray/libobj/disc.h'\"
else
echo shar: Extracting \"'libray/libobj/disc.h'\" \(1110 characters\)
sed "s/^X//" >'libray/libobj/disc.h' <<'END_OF_FILE'
X/*
X * disc.h
X *
X * Copyright (C) 1989, 1991, Craig E. Kolb
X * All rights reserved.
X *
X * This software may be freely copied, modified, and redistributed
X * provided that this copyright notice is preserved on all copies.
X *
X * You may not distribute this software, in whole or in part, as part of
X * any commercial product without the express consent of the authors.
X *
X * There is no warranty or other guarantee of fitness of this software
X * for any purpose.  It is provided solely "as is".
X *
X * $Id: disc.h,v 4.0 91/07/17 14:37:31 kolb Exp Locker: kolb $
X *
X * $Log:	disc.h,v $
X * Revision 4.0  91/07/17  14:37:31  kolb
X * Initial version.
X * 
X */
X#ifndef DISC_H
X#define DISC_H
X
X#define GeomDiscCreate(r,p,n)	GeomCreate((GeomRef)DiscCreate(r,p,n), \
X					DiscMethods())
X
Xtypedef struct disc {
X	Float radius, d;		/* Radius squared, plane constant */
X	Vector norm, pos;		/* Normal, center */
X} Disc;
X
Xextern Disc	*DiscCreate();
Xextern Methods	*DiscMethods();
Xextern int	DiscIntersect(), DiscEnter(), DiscNormal();
Xextern void	DiscBounds(), DiscUV(), DiscStats();
Xextern char	*DiscName();
X
X#endif /* DISC_H */
END_OF_FILE
if test 1110 -ne `wc -c <'libray/libobj/disc.h'`; then
    echo shar: \"'libray/libobj/disc.h'\" unpacked with wrong size!
fi
# end of 'libray/libobj/disc.h'
fi
if test -f 'libray/libobj/list.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'libray/libobj/list.h'\"
else
echo shar: Extracting \"'libray/libobj/list.h'\" \(1142 characters\)
sed "s/^X//" >'libray/libobj/list.h' <<'END_OF_FILE'
X/*
X * list.h
X *
X * Copyright (C) 1989, 1991, Craig E. Kolb
X * All rights reserved.
X *
X * This software may be freely copied, modified, and redistributed
X * provided that this copyright notice is preserved on all copies.
X *
X * You may not distribute this software, in whole or in part, as part of
X * any commercial product without the express consent of the authors.
X *
X * There is no warranty or other guarantee of fitness of this software
X * for any purpose.  It is provided solely "as is".
X *
X * $Id: list.h,v 4.0 91/07/17 14:38:45 kolb Exp Locker: kolb $
X *
X * $Log:	list.h,v $
X * Revision 4.0  91/07/17  14:38:45  kolb
X * Initial version.
X * 
X */
X#ifndef LIST_H
X#define LIST_H
X
X#define GeomListCreate()	GeomCreate((GeomRef)ListCreate(), ListMethods())
X
X/*
X * List object
X */
Xtypedef struct {
X	struct Geom *list;		/* List of prims/objs. in object */
X	struct Geom *unbounded;	/* List of unbounded prims. */
X	Float bounds[2][3];		/* Bounding box of object */
X} List;
X
Xextern char	*ListName();
Xextern int	ListIntersect(), ListConvert();
Xextern void	ListBounds();
Xextern List	*ListCreate();
Xextern Methods	*ListMethods();
X
X#endif /* LIST_H */
END_OF_FILE
if test 1142 -ne `wc -c <'libray/libobj/list.h'`; then
    echo shar: \"'libray/libobj/list.h'\" unpacked with wrong size!
fi
# end of 'libray/libobj/list.h'
fi
if test -f 'libray/libobj/plane.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'libray/libobj/plane.h'\"
else
echo shar: Extracting \"'libray/libobj/plane.h'\" \(1113 characters\)
sed "s/^X//" >'libray/libobj/plane.h' <<'END_OF_FILE'
X/*
X * plane.h
X *
X * Copyright (C) 1989, 1991, Craig E. Kolb
X * All rights reserved.
X *
X * This software may be freely copied, modified, and redistributed
X * provided that this copyright notice is preserved on all copies.
X *
X * You may not distribute this software, in whole or in part, as part of
X * any commercial product without the express consent of the authors.
X *
X * There is no warranty or other guarantee of fitness of this software
X * for any purpose.  It is provided solely "as is".
X *
X * $Id: plane.h,v 4.0 91/07/17 14:38:54 kolb Exp Locker: kolb $
X *
X * $Log:	plane.h,v $
X * Revision 4.0  91/07/17  14:38:54  kolb
X * Initial version.
X * 
X */
X#ifndef PLANE_H
X#define PLANE_H
X
X#define GeomPlaneCreate(p,n)	GeomCreate((GeomRef)PlaneCreate(p,n), \
X					PlaneMethods())
X
X/*
X * Plane
X */
Xtypedef struct {
X	Vector norm, pos;	/* Plane normal, point on plane */
X	Float d;		/* Plane constant. */
X} Plane;
X
Xextern Plane	*PlaneCreate();
Xextern int	PlaneIntersect(), PlaneNormal();
Xextern void	PlaneBounds(), PlaneUV(), PlaneStats();
Xextern char	*PlaneName();
Xextern Methods	*PlaneMethods();
X
X#endif /* PLANE_H */
END_OF_FILE
if test 1113 -ne `wc -c <'libray/libobj/plane.h'`; then
    echo shar: \"'libray/libobj/plane.h'\" unpacked with wrong size!
fi
# end of 'libray/libobj/plane.h'
fi
if test -f 'libray/libobj/sphere.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'libray/libobj/sphere.h'\"
else
echo shar: Extracting \"'libray/libobj/sphere.h'\" \(1138 characters\)
sed "s/^X//" >'libray/libobj/sphere.h' <<'END_OF_FILE'
X/*
X * sphere.h
X *
X * Copyright (C) 1989, 1991, Craig E. Kolb
X * All rights reserved.
X *
X * This software may be freely copied, modified, and redistributed
X * provided that this copyright notice is preserved on all copies.
X *
X * You may not distribute this software, in whole or in part, as part of
X * any commercial product without the express consent of the authors.
X *
X * There is no warranty or other guarantee of fitness of this software
X * for any purpose.  It is provided solely "as is".
X *
X * $Id: sphere.h,v 4.0 91/07/17 14:39:23 kolb Exp Locker: kolb $
X *
X * $Log:	sphere.h,v $
X * Revision 4.0  91/07/17  14:39:23  kolb
X * Initial version.
X * 
X */
X#ifndef SPHERE_H
X#define SPHERE_H
X
X#define GeomSphereCreate(r,p)	GeomCreate((GeomRef)SphereCreate(r,p), \
X					SphereMethods())
X
X/*
X * Sphere
X */
Xtypedef struct {
X	Float r, rsq;		/* radius, radius squared */
X	Float x, y, z;		/* position */
X} Sphere;
X
Xextern Sphere	*SphereCreate();
Xextern Methods	*SphereMethods();
Xextern int	SphereIntersect(), SphereEnter(), SphereNormal();
Xextern void	SphereBounds(), SphereUV(), SphereStats();
Xextern char	*SphereName();
X
X#endif /* SPHERE_H */
END_OF_FILE
if test 1138 -ne `wc -c <'libray/libobj/sphere.h'`; then
    echo shar: \"'libray/libobj/sphere.h'\" unpacked with wrong size!
fi
# end of 'libray/libobj/sphere.h'
fi
if test -f 'libray/libsurf/fog.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'libray/libsurf/fog.h'\"
else
echo shar: Extracting \"'libray/libsurf/fog.h'\" \(913 characters\)
sed "s/^X//" >'libray/libsurf/fog.h' <<'END_OF_FILE'
X/*
X * fog.h
X *
X * Copyright (C) 1989, 1991, Craig E. Kolb
X * All rights reserved.
X *
X * This software may be freely copied, modified, and redistributed
X * provided that this copyright notice is preserved on all copies.
X *
X * You may not distribute this software, in whole or in part, as part of
X * any commercial product without the express consent of the authors.
X *
X * There is no warranty or other guarantee of fitness of this software
X * for any purpose.  It is provided solely "as is".
X *
X * $Id: fog.h,v 4.0 91/07/17 14:40:22 kolb Exp Locker: kolb $
X *
X * $Log:	fog.h,v $
X * Revision 4.0  91/07/17  14:40:22  kolb
X * Initial version.
X * 
X */
X#ifndef FOG_H
X
X#define AtmosFogCreate(c,t)	AtmosCreate((AtmosRef) FogCreate(c,t), \
X						FogApply)	
Xtypedef struct Fog {
X	Color	color,		/* Fog color */
X		trans;		/* Fog transmissivity */
X} Fog;
X
Xextern Fog *FogCreate();
Xextern void FogApply();
X
X#endif /* FOG_H */
END_OF_FILE
if test 913 -ne `wc -c <'libray/libsurf/fog.h'`; then
    echo shar: \"'libray/libsurf/fog.h'\" unpacked with wrong size!
fi
# end of 'libray/libsurf/fog.h'
fi
if test -f 'libray/libsurf/fogdeck.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'libray/libsurf/fogdeck.h'\"
else
echo shar: Extracting \"'libray/libsurf/fogdeck.h'\" \(1101 characters\)
sed "s/^X//" >'libray/libsurf/fogdeck.h' <<'END_OF_FILE'
X/*
X * fogdeck.h
X *
X * Copyright (C) 1989, 1991, Craig E. Kolb
X * All rights reserved.
X *
X * This software may be freely copied, modified, and redistributed
X * provided that this copyright notice is preserved on all copies.
X *
X * You may not distribute this software, in whole or in part, as part of
X * any commercial product without the express consent of the authors.
X *
X * There is no warranty or other guarantee of fitness of this software
X * for any purpose.  It is provided solely "as is".
X *
X * $Id: fogdeck.h,v 4.0 91/07/17 14:40:35 kolb Exp Locker: kolb $
X *
X * $Log:	fogdeck.h,v $
X * Revision 4.0  91/07/17  14:40:35  kolb
X * Initial version.
X * 
X */
X#ifndef FOGDECK_H
X
X#define AtmosFogdeckCreate(z,a,s,p,o,c,t) AtmosCreate( \
X		(AtmosRef) FogdeckCreate(z,a,s,p,o,c,t), FogdeckApply)	
Xtypedef struct Fogdeck {
X	Float	alt,	/* Z value below which fogdeck deck exists. */
X		offset,
X		chaoscale;
X	Vector	scale;
X	Color	color,		/* Fogdeck color */
X		trans;		/* Fogdeck transmissivity */
X	int	octaves;
X} Fogdeck;
X
Xextern Fogdeck *FogdeckCreate();
Xextern void FogdeckApply();
X
X#endif /* FOGDECK_H */
END_OF_FILE
if test 1101 -ne `wc -c <'libray/libsurf/fogdeck.h'`; then
    echo shar: \"'libray/libsurf/fogdeck.h'\" unpacked with wrong size!
fi
# end of 'libray/libsurf/fogdeck.h'
fi
if test -f 'libray/libsurf/mist.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'libray/libsurf/mist.h'\"
else
echo shar: Extracting \"'libray/libsurf/mist.h'\" \(991 characters\)
sed "s/^X//" >'libray/libsurf/mist.h' <<'END_OF_FILE'
X/*
X * mist.h
X *
X * Copyright (C) 1989, 1991, Craig E. Kolb
X * All rights reserved.
X *
X * This software may be freely copied, modified, and redistributed
X * provided that this copyright notice is preserved on all copies.
X *
X * You may not distribute this software, in whole or in part, as part of
X * any commercial product without the express consent of the authors.
X *
X * There is no warranty or other guarantee of fitness of this software
X * for any purpose.  It is provided solely "as is".
X *
X * $Id: mist.h,v 4.0 91/07/17 14:40:46 kolb Exp Locker: kolb $
X *
X * $Log:	mist.h,v $
X * Revision 4.0  91/07/17  14:40:46  kolb
X * Initial version.
X * 
X */
X#ifndef MIST_H
X
X#define AtmosMistCreate(c,t,z,s) AtmosCreate((AtmosRef)MistCreate(c,t,z,s), \
X						MistApply)
Xtypedef struct Mist {
X	Color color;		/* Mist color */
X	Color trans;		/* R, G, B transmissivity */
X	Float scale, zero;	/* Height scale, start Z */
X} Mist;
X
Xextern Mist *MistCreate();
Xextern void MistApply();
X
X#endif /* MIST_H */
X
END_OF_FILE
if test 991 -ne `wc -c <'libray/libsurf/mist.h'`; then
    echo shar: \"'libray/libsurf/mist.h'\" unpacked with wrong size!
fi
# end of 'libray/libsurf/mist.h'
fi
if test -f 'libray/libtext/blotch.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'libray/libtext/blotch.h'\"
else
echo shar: Extracting \"'libray/libtext/blotch.h'\" \(902 characters\)
sed "s/^X//" >'libray/libtext/blotch.h' <<'END_OF_FILE'
X/*
X * blotch.h
X *
X * Copyright (C) 1989, 1991, Craig E. Kolb
X * All rights reserved.
X *
X * This software may be freely copied, modified, and redistributed
X * provided that this copyright notice is preserved on all copies.
X *
X * You may not distribute this software, in whole or in part, as part of
X * any commercial product without the express consent of the authors.
X *
X * There is no warranty or other guarantee of fitness of this software
X * for any purpose.  It is provided solely "as is".
X *
X * $Id: blotch.h,v 4.0 91/07/17 14:41:34 kolb Exp Locker: kolb $
X *
X * $Log:	blotch.h,v $
X * Revision 4.0  91/07/17  14:41:34  kolb
X * Initial version.
X * 
X */
X#ifndef BLOTCH_H
X
X#define TextBlotchCreate(m,s)	TextCreate((TextRef) BlotchCreate(m,s), \
X					BlotchApply)
Xtypedef struct {
X	Float mix;
X	Surface *surf;
X} Blotch;
X
Xextern Blotch *BlotchCreate();
Xextern void BlotchApply();
X
X#endif /* BLOTCH_H */
END_OF_FILE
if test 902 -ne `wc -c <'libray/libtext/blotch.h'`; then
    echo shar: \"'libray/libtext/blotch.h'\" unpacked with wrong size!
fi
# end of 'libray/libtext/blotch.h'
fi
if test -f 'libray/libtext/checker.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'libray/libtext/checker.h'\"
else
echo shar: Extracting \"'libray/libtext/checker.h'\" \(923 characters\)
sed "s/^X//" >'libray/libtext/checker.h' <<'END_OF_FILE'
X/*
X * checker.h
X *
X * Copyright (C) 1989, 1991, Craig E. Kolb
X * All rights reserved.
X *
X * This software may be freely copied, modified, and redistributed
X * provided that this copyright notice is preserved on all copies.
X *
X * You may not distribute this software, in whole or in part, as part of
X * any commercial product without the express consent of the authors.
X *
X * There is no warranty or other guarantee of fitness of this software
X * for any purpose.  It is provided solely "as is".
X *
X * $Id: checker.h,v 4.0 91/07/17 14:41:51 kolb Exp Locker: kolb $
X *
X * $Log:	checker.h,v $
X * Revision 4.0  91/07/17  14:41:51  kolb
X * Initial version.
X * 
X */
X#ifndef CHECKER_H
X
X#define TextCheckerCreate(s)	TextCreate((TextRef) CheckerCreate(s), \
X					CheckerApply)
Xtypedef struct {
X	Surface *surf;		/* Alternate surface */
X} Checker;
X
Xextern Checker *CheckerCreate();
Xextern void CheckerApply();
X
X#endif /* CHECKER_H */
END_OF_FILE
if test 923 -ne `wc -c <'libray/libtext/checker.h'`; then
    echo shar: \"'libray/libtext/checker.h'\" unpacked with wrong size!
fi
# end of 'libray/libtext/checker.h'
fi
if test -f 'libray/libtext/cloud.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'libray/libtext/cloud.h'\"
else
echo shar: Extracting \"'libray/libtext/cloud.h'\" \(1010 characters\)
sed "s/^X//" >'libray/libtext/cloud.h' <<'END_OF_FILE'
X/*
X * cloud.h
X *
X * Copyright (C) 1989, 1991, Craig E. Kolb
X * All rights reserved.
X *
X * This software may be freely copied, modified, and redistributed
X * provided that this copyright notice is preserved on all copies.
X *
X * You may not distribute this software, in whole or in part, as part of
X * any commercial product without the express consent of the authors.
X *
X * There is no warranty or other guarantee of fitness of this software
X * for any purpose.  It is provided solely "as is".
X *
X * $Id: cloud.h,v 4.0 91/07/17 14:42:00 kolb Exp Locker: kolb $
X *
X * $Log:	cloud.h,v $
X * Revision 4.0  91/07/17  14:42:00  kolb
X * Initial version.
X * 
X */
X#ifndef CLOUDTEXT_H
X
X#define TextCloudCreate(s,h,l,n,c,o,t) TextCreate( \
X			(TextRef)CloudTextCreate(s,h,l,n,c,o,t), CloudTextApply)
Xtypedef struct {
X	Float	beta,
X		omega,
X		lambda,
X		scale,
X		cthresh,
X		range,
X		transcale,
X		maxval;
X	int	octaves;
X} CloudText;
X
Xextern CloudText *CloudTextCreate();
Xextern void CloudTextApply();
X
X#endif /* CLOUDTEXT_H */
END_OF_FILE
if test 1010 -ne `wc -c <'libray/libtext/cloud.h'`; then
    echo shar: \"'libray/libtext/cloud.h'\" unpacked with wrong size!
fi
# end of 'libray/libtext/cloud.h'
fi
if test -f 'libray/libtext/fbm.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'libray/libtext/fbm.h'\"
else
echo shar: Extracting \"'libray/libtext/fbm.h'\" \(963 characters\)
sed "s/^X//" >'libray/libtext/fbm.h' <<'END_OF_FILE'
X/*
X * fbm.h
X *
X * Copyright (C) 1989, 1991, Craig E. Kolb
X * All rights reserved.
X *
X * This software may be freely copied, modified, and redistributed
X * provided that this copyright notice is preserved on all copies.
X *
X * You may not distribute this software, in whole or in part, as part of
X * any commercial product without the express consent of the authors.
X *
X * There is no warranty or other guarantee of fitness of this software
X * for any purpose.  It is provided solely "as is".
X *
X * $Id: fbm.h,v 4.0 91/07/17 14:42:11 kolb Exp Locker: kolb $
X *
X * $Log:	fbm.h,v $
X * Revision 4.0  91/07/17  14:42:11  kolb
X * Initial version.
X * 
X */
X#ifndef FBM_H
X#define FBM_H
X
X#define TextFBmCreate(o,s,h,l,n,t,m) TextCreate( \
X			(TextRef)FBmCreate(o,s,h,l,n,t,m), FBmApply)
Xtypedef struct {
X	Float	beta,
X		omega,
X		lambda,
X		scale,
X		offset,
X		thresh;
X	int	octaves;
X	Color	*colormap;
X} FBm;
X
Xextern FBm *FBmCreate();
Xextern void FBmApply();
X
X#endif /* FBM_H */
END_OF_FILE
if test 963 -ne `wc -c <'libray/libtext/fbm.h'`; then
    echo shar: \"'libray/libtext/fbm.h'\" unpacked with wrong size!
fi
# end of 'libray/libtext/fbm.h'
fi
if test -f 'libray/libtext/mapping.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'libray/libtext/mapping.h'\"
else
echo shar: Extracting \"'libray/libtext/mapping.h'\" \(1097 characters\)
sed "s/^X//" >'libray/libtext/mapping.h' <<'END_OF_FILE'
X/*
X * mapping.h
X *
X * Copyright (C) 1989, 1991, Craig E. Kolb
X * All rights reserved.
X *
X * This software may be freely copied, modified, and redistributed
X * provided that this copyright notice is preserved on all copies.
X *
X * You may not distribute this software, in whole or in part, as part of
X * any commercial product without the express consent of the authors.
X *
X * There is no warranty or other guarantee of fitness of this software
X * for any purpose.  It is provided solely "as is".
X *
X * $Id: mapping.h,v 4.0 91/07/17 14:43:00 kolb Exp Locker: kolb $
X *
X * $Log:	mapping.h,v $
X * Revision 4.0  91/07/17  14:43:00  kolb
X * Initial version.
X * 
X */
X#ifndef MAPPING_H
X#define MAPPING_H
X
X#define PRIMSPACE	01	/* Mapping uses data in prim space */
X#define OBJSPACE	02	/* Mapping uses data in object space */
X
Xtypedef struct Mapping {
X	int flags;		/* mapping flags */
X	Vector center, uaxis, vaxis, norm;
X	Float dist;
X	RSMatrix m;
X	void (*method)();
X} Mapping;
X
Xextern Mapping *UVMappingCreate(), *SphereMappingCreate(), *CylMappingCreate(),
X	*LinearMappingCreate();
X
X#endif /* MAPPING_H */
END_OF_FILE
if test 1097 -ne `wc -c <'libray/libtext/mapping.h'`; then
    echo shar: \"'libray/libtext/mapping.h'\" unpacked with wrong size!
fi
# end of 'libray/libtext/mapping.h'
fi
if test -f 'libray/libtext/marble.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'libray/libtext/marble.h'\"
else
echo shar: Extracting \"'libray/libtext/marble.h'\" \(911 characters\)
sed "s/^X//" >'libray/libtext/marble.h' <<'END_OF_FILE'
X/*
X * marble.h
X *
X * Copyright (C) 1989, 1991, Craig E. Kolb
X * All rights reserved.
X *
X * This software may be freely copied, modified, and redistributed
X * provided that this copyright notice is preserved on all copies.
X *
X * You may not distribute this software, in whole or in part, as part of
X * any commercial product without the express consent of the authors.
X *
X * There is no warranty or other guarantee of fitness of this software
X * for any purpose.  It is provided solely "as is".
X *
X * $Id: marble.h,v 4.0 91/07/17 14:43:10 kolb Exp Locker: kolb $
X *
X * $Log:	marble.h,v $
X * Revision 4.0  91/07/17  14:43:10  kolb
X * Initial version.
X * 
X */
X#ifndef MARBLE_H
X
X#define TextMarbleCreate(m)	TextCreate((TextRef) MarbleCreate(m), \
X					MarbleApply)
Xtypedef struct {
X	Color *colormap;	/* colormap */
X} MarbleText;
X
Xextern MarbleText *MarbleCreate();
Xextern void MarbleApply();
X
X#endif /* MARBLE_H */
END_OF_FILE
if test 911 -ne `wc -c <'libray/libtext/marble.h'`; then
    echo shar: \"'libray/libtext/marble.h'\" unpacked with wrong size!
fi
# end of 'libray/libtext/marble.h'
fi
if test -f 'libray/libtext/mount.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'libray/libtext/mount.h'\"
else
echo shar: Extracting \"'libray/libtext/mount.h'\" \(900 characters\)
sed "s/^X//" >'libray/libtext/mount.h' <<'END_OF_FILE'
X/*
X * mount.h
X *
X * Copyright (C) 1989, 1991, Craig E. Kolb
X * All rights reserved.
X *
X * This software may be freely copied, modified, and redistributed
X * provided that this copyright notice is preserved on all copies.
X *
X * You may not distribute this software, in whole or in part, as part of
X * any commercial product without the express consent of the authors.
X *
X * There is no warranty or other guarantee of fitness of this software
X * for any purpose.  It is provided solely "as is".
X *
X * $Id: mount.h,v 4.0 91/07/17 14:43:26 kolb Exp Locker: kolb $
X *
X * $Log:	mount.h,v $
X * Revision 4.0  91/07/17  14:43:26  kolb
X * Initial version.
X * 
X */
X#ifndef MOUNT_H
X
X#define TextMountCreate(c,t,s)	TextCreate((TextRef) MountCreate(c,t,s), \
X					MountApply)
Xtypedef struct {
X	Float turb, slope;
X	Color *cmap;
X} Mount;
X
Xextern Mount *MountCreate();
Xextern void MountApply();
X
X#endif /* MOUNT_H */
END_OF_FILE
if test 900 -ne `wc -c <'libray/libtext/mount.h'`; then
    echo shar: \"'libray/libtext/mount.h'\" unpacked with wrong size!
fi
# end of 'libray/libtext/mount.h'
fi
if test -f 'libray/libtext/sky.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'libray/libtext/sky.h'\"
else
echo shar: Extracting \"'libray/libtext/sky.h'\" \(929 characters\)
sed "s/^X//" >'libray/libtext/sky.h' <<'END_OF_FILE'
X/*
X * sky.h
X *
X * Copyright (C) 1989, 1991, Craig E. Kolb
X * All rights reserved.
X *
X * This software may be freely copied, modified, and redistributed
X * provided that this copyright notice is preserved on all copies.
X *
X * You may not distribute this software, in whole or in part, as part of
X * any commercial product without the express consent of the authors.
X *
X * There is no warranty or other guarantee of fitness of this software
X * for any purpose.  It is provided solely "as is".
X *
X * $Id: sky.h,v 4.0 91/07/17 14:43:46 kolb Exp Locker: kolb $
X *
X * $Log:	sky.h,v $
X * Revision 4.0  91/07/17  14:43:46  kolb
X * Initial version.
X * 
X */
X#ifndef SKY_H
X
X#define TextSkyCreate(s,h,l,n,c,t) TextCreate((TextRef)SkyCreate(s,h,l,n,c,t),\
X					SkyApply)
Xtypedef struct {
X	Float	beta,
X		omega,
X		lambda,
X		scale,
X		cthresh,
X		lthresh;
X	int	octaves;
X} Sky;
X
Xextern Sky *SkyCreate();
Xextern void SkyApply();
X
X#endif /* SKY_H */
END_OF_FILE
if test 929 -ne `wc -c <'libray/libtext/sky.h'`; then
    echo shar: \"'libray/libtext/sky.h'\" unpacked with wrong size!
fi
# end of 'libray/libtext/sky.h'
fi
if test -f 'libray/libtext/stripe.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'libray/libtext/stripe.h'\"
else
echo shar: Extracting \"'libray/libtext/stripe.h'\" \(938 characters\)
sed "s/^X//" >'libray/libtext/stripe.h' <<'END_OF_FILE'
X/*
X * stripe.h
X *
X * Copyright (C) 1989, 1991, Craig E. Kolb
X * All rights reserved.
X *
X * This software may be freely copied, modified, and redistributed
X * provided that this copyright notice is preserved on all copies.
X *
X * You may not distribute this software, in whole or in part, as part of
X * any commercial product without the express consent of the authors.
X *
X * There is no warranty or other guarantee of fitness of this software
X * for any purpose.  It is provided solely "as is".
X *
X * $Id: stripe.h,v 4.0 91/07/17 14:43:55 kolb Exp Locker: kolb $
X *
X * $Log:	stripe.h,v $
X * Revision 4.0  91/07/17  14:43:55  kolb
X * Initial version.
X * 
X */
X#ifndef STRIPE_H
X
X#define TextStripeCreate(s,w,b,m) TextCreate((TextRef)StripeCreate(s,w,b,m), \
X					StripeApply)
Xtypedef struct {
X	Surface	*surf;
X	Mapping	*mapping;
X	Float	width,
X		bump;
X} Stripe;
X
Xextern Stripe *StripeCreate();
Xextern void StripeApply();
X
X#endif /* STRIPE_H */
END_OF_FILE
if test 938 -ne `wc -c <'libray/libtext/stripe.h'`; then
    echo shar: \"'libray/libtext/stripe.h'\" unpacked with wrong size!
fi
# end of 'libray/libtext/stripe.h'
fi
if test -f 'libray/libtext/windy.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'libray/libtext/windy.h'\"
else
echo shar: Extracting \"'libray/libtext/windy.h'\" \(989 characters\)
sed "s/^X//" >'libray/libtext/windy.h' <<'END_OF_FILE'
X/*
X * windy.h
X *
X * Copyright (C) 1989, 1991, Craig E. Kolb
X * All rights reserved.
X *
X * This software may be freely copied, modified, and redistributed
X * provided that this copyright notice is preserved on all copies.
X *
X * You may not distribute this software, in whole or in part, as part of
X * any commercial product without the express consent of the authors.
X *
X * There is no warranty or other guarantee of fitness of this software
X * for any purpose.  It is provided solely "as is".
X *
X * $Id: windy.h,v 4.0 91/07/17 14:44:28 kolb Exp Locker: kolb $
X *
X * $Log:	windy.h,v $
X * Revision 4.0  91/07/17  14:44:28  kolb
X * Initial version.
X * 
X */
X#ifndef WINDY_H
X
X#define TextWindyCreate(s,w,c,b,o,t,h,i) TextCreate( \
X		(TextRef)WindyCreate(s,w,c,b,o,t,h,i), WindyApply)
X
Xtypedef struct {
X	Float	scale,
X		windscale,
X		chaoscale,
X		bumpscale,
X		tscale,
X		hscale,
X		offset;
X	int	octaves;
X} WindyText;
X
Xextern WindyText *WindyCreate();
Xextern void WindyApply();
X
X#endif /* WINDY_H */
END_OF_FILE
if test 989 -ne `wc -c <'libray/libtext/windy.h'`; then
    echo shar: \"'libray/libtext/windy.h'\" unpacked with wrong size!
fi
# end of 'libray/libtext/windy.h'
fi
if test -f 'libshade/funcdefs.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'libshade/funcdefs.h'\"
else
echo shar: Extracting \"'libshade/funcdefs.h'\" \(1034 characters\)
sed "s/^X//" >'libshade/funcdefs.h' <<'END_OF_FILE'
X/*
X * funcdefs.h
X *
X * Copyright (C) 1989, 1991, Craig E. Kolb
X * All rights reserved.
X *
X * This software may be freely copied, modified, and redistributed
X * provided that this copyright notice is preserved on all copies.
X *
X * You may not distribute this software, in whole or in part, as part of
X * any commercial product without the express consent of the authors.
X *
X * There is no warranty or other guarantee of fitness of this software
X * for any purpose.  It is provided solely "as is".
X *
X * $Id: funcdefs.h,v 4.0.1.1 1991/09/29 15:50:07 cek Exp cek $
X *
X * $Log: funcdefs.h,v $
X * Revision 4.0.1.1  1991/09/29  15:50:07  cek
X * patch1: Don't declare free or exit void if stdlib.h is used.
X *
X * Revision 4.0  91/07/17  14:46:11  kolb
X * Initial version.
X * 
X */
X#ifndef FUNCDEFS_H
X#define FUNCDEFS_H
X
X#ifdef I_STRING
X#include <string.h>
X#else
X#include <strings.h>
X#endif
X
X/*
X * Misc. routines.
X */
X#ifndef I_STDLIB
Xextern void	free(), exit();
X#endif
X
Xextern void get_cpu_time(), read_input_file();
X
X#endif /* FUNCDEFS_H */
END_OF_FILE
if test 1034 -ne `wc -c <'libshade/funcdefs.h'`; then
    echo shar: \"'libshade/funcdefs.h'\" unpacked with wrong size!
fi
# end of 'libshade/funcdefs.h'
fi
if test -f 'libshade/picture.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'libshade/picture.h'\"
else
echo shar: Extracting \"'libshade/picture.h'\" \(1137 characters\)
sed "s/^X//" >'libshade/picture.h' <<'END_OF_FILE'
X/*
X * picture.h
X *
X * Copyright (C) 1989, 1991, Craig E. Kolb
X * All rights reserved.
X *
X * This software may be freely copied, modified, and redistributed
X * provided that this copyright notice is preserved on all copies.
X *
X * You may not distribute this software, in whole or in part, as part of
X * any commercial product without the express consent of the authors.
X *
X * There is no warranty or other guarantee of fitness of this software
X * for any purpose.  It is provided solely "as is".
X *
X * $Id: picture.h,v 4.0 91/07/17 14:47:07 kolb Exp Locker: kolb $
X *
X * $Log:	picture.h,v $
X * Revision 4.0  91/07/17  14:47:07  kolb
X * Initial version.
X * 
X */
X#ifndef PICTURE_H
X#define PICTURE_H
X
X#ifdef URT
X#include "rle.h"
X#include "rle_raw.h"
X#endif
X
X#define CORRECT(x)		(correct(GAMMACORRECT(x)))
X#define GAMMACORRECT(x)		(Options.gamma == 1. ? (x) \
X				   : (pow(x, Options.gamma)))
X/*
X * Pixel
X */
Xtypedef struct Pixel {
X	Float r, g, b, alpha;		/* Red, green, blue, alpha channel */
X} Pixel;
X
Xextern void	PictureStart(), PictureEnd(), PictureWriteLine();
X
X#ifdef URT
Xextern void	PictureSetWindow();
X#endif
X
X#endif /* PICTURE_H */
END_OF_FILE
if test 1137 -ne `wc -c <'libshade/picture.h'`; then
    echo shar: \"'libshade/picture.h'\" unpacked with wrong size!
fi
# end of 'libshade/picture.h'
fi
if test -f 'rayshade/raytrace.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'rayshade/raytrace.h'\"
else
echo shar: Extracting \"'rayshade/raytrace.h'\" \(909 characters\)
sed "s/^X//" >'rayshade/raytrace.h' <<'END_OF_FILE'
X/*
X * raytrace.h
X *
X * Copyright (C) 1989, 1991, Craig E. Kolb
X * All rights reserved.
X *
X * This software may be freely copied, modified, and redistributed
X * provided that this copyright notice is preserved on all copies.
X *
X * You may not distribute this software, in whole or in part, as part of
X * any commercial product without the express consent of the authors.
X *
X * There is no warranty or other guarantee of fitness of this software
X * for any purpose.  It is provided solely "as is".
X *
X * $Id: raytrace.h,v 4.0 91/07/17 14:51:25 kolb Exp Locker: kolb $
X *
X * $Log:	raytrace.h,v $
X * Revision 4.0  91/07/17  14:51:25  kolb
X * Initial version.
X * 
X */
X#ifndef RAYTRACE_H
X#define RAYTRACE_H
X
X#include "picture.h"
X
Xtypedef struct {
X	Float x, y, size;	/* location and size */
X	Pixel ul, ur, ll, lr;	/* Color values of four corners */
X} pixel_square;
X
Xextern void		raytrace();
X
X#endif /* RAYTRACE_H */
END_OF_FILE
if test 909 -ne `wc -c <'rayshade/raytrace.h'`; then
    echo shar: \"'rayshade/raytrace.h'\" unpacked with wrong size!
fi
# end of 'rayshade/raytrace.h'
fi
echo shar: End of archive 2 \(of 19\).
cp /dev/null ark2isdone
MISSING=""
for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ; do
    if test ! -f ark${I}isdone ; then
	MISSING="${MISSING} ${I}"
    fi
done
if test "${MISSING}" = "" ; then
    echo You have unpacked all 19 archives.
    rm -f ark[1-9]isdone ark[1-9][0-9]isdone
else
    echo You still need to unpack the following archives:
    echo "        " ${MISSING}
fi
##  End of shell archive.
exit 0
