#! /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 '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 <>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 X#else X#include 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