Newsgroups: comp.sources.misc From: Rayshade Construction Co. Subject: v21i005: rayshade - A raytracing package for UNIX, Part02/19 Message-ID: <1991Jul20.043315.11229@sparky.IMD.Sterling.COM> X-Md4-Signature: 73c629757c6156d2a37fda58d896f854 Date: Sat, 20 Jul 1991 04:33:15 GMT Approved: kent@sparky.imd.sterling.com Submitted-by: Rayshade Construction Co. Posting-number: Volume 21, Issue 5 Archive-name: rayshade/part02 Environment: UNIX, !16BIT #! /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% Rayshde User's Guide X% $Id: guide.tex,v 4.0 91/07/17 14:24:11 kolb Exp Locker: kolb $ 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\documentstyle[11pt]{report} X\newcommand{\Rayshade}{\mbox{{\em Rayshade}\/} } X\newcommand{\rayshade}{\mbox{{\em rayshade}\/} } 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\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! # end of 'Doc/Guide/guide.tex' if test -f 'Examples/balls.ray' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'Examples/balls.ray'\" echo shar: Extracting \"'Examples/balls.ray'\" \(1001 characters\) sed "s/^X//" >'Examples/balls.ray' <<'END_OF_FILE' X/* Converted by rsconvert */ X * This file is the result of feeding "balls" from Eric Haines' X * SPD through nff2shade.awk and then hand-tweaking things. 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! # end of 'Examples/balls.ray' if test -f 'Examples/coin.ray' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'Examples/coin.ray'\" echo shar: Extracting \"'Examples/coin.ray'\" \(1074 characters\) sed "s/^X//" >'Examples/coin.ray' <<'END_OF_FILE' X * Rayshade animation example. X * Copperish coin flipping on ground plane. X * Craig Kolb and Rod Bogart X * March, 1991 X * $Id: coin.ray,v 4.0 91/07/17 14:25:52 kolb Exp Locker: kolb $ X * $Log: coin.ray,v $ X * Revision 4.0 91/07/17 14:25:52 kolb X * Initial version. 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 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 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 */ Xdefine spin (linear(0, 0, length, 360 * flips)) /* theta */ Xdefine ground (linear(0, 2, length, -2)) /* translation */ Xdefine shift (linear(0,0,length,length) - length / 2) Xdefine height (zenith * ( 1 - shift * shift / (length * length / 4) )) Xobject copper coin X rotate 1 -1 0 (spin) X translate (ground) (ground) (height) 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! # end of 'Examples/coin.ray' if test -f 'Examples/solids.ray' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'Examples/solids.ray'\" echo shar: Extracting \"'Examples/solids.ray'\" \(987 characters\) sed "s/^X//" >'Examples/solids.ray' <<'END_OF_FILE' X/* Converted using rsconvert */ X * solids.ray X * Example rayshade input file. X * Render using: X * rayshade solids.ray > solids.rle X * Craig Kolb 9/89 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 Xsphere red 4 3 0 0 X * Cone actually sticks through ground plane. This solves problems X * that arise when the bottom of the cone and the plane are coincident. Xcone glass 4 -5 3 -4.1 0 -5 3 4 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! # end of 'Examples/solids.ray' if test -f 'etc/Makefile.SH' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'etc/Makefile.SH'\" echo shar: Extracting \"'etc/Makefile.SH'\" \(1138 characters\) sed "s/^X//" >'etc/Makefile.SH' <<'END_OF_FILE' Xcase $CONFIG in 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 Xdefault: X for i in $(STUFF); do \ X (cd $$i && $(MAKE)); \ X done 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! chmod +x 'etc/Makefile.SH' # end of 'etc/Makefile.SH' if test -f 'libray/libcommon/ray.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'libray/libcommon/ray.h'\" echo shar: Extracting \"'libray/libcommon/ray.h'\" \(926 characters\) sed "s/^X//" >'libray/libcommon/ray.h' <<'END_OF_FILE' X * ray.h X * Copyright (C) 1989, 1991, Craig E. Kolb X * All rights reserved. X * This software may be freely copied, modified, and redistributed X * provided that this copyright notice is preserved on all copies. 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 * There is no warranty or other guarantee of fitness of this software X * for any purpose. It is provided solely "as is". X * $Id: ray.h,v 4.0 91/07/17 14:31:08 kolb Exp Locker: kolb $ X * $Log: ray.h,v $ X * Revision 4.0 91/07/17 14:31:08 kolb X * Initial version. X#ifndef RAY_H X#define RAY_H X * Ray 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! # end of 'libray/libcommon/ray.h' if test -f 'libray/libcommon/scale.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'libray/libcommon/scale.h'\" echo shar: Extracting \"'libray/libcommon/scale.h'\" \(1105 characters\) sed "s/^X//" >'libray/libcommon/scale.h' <<'END_OF_FILE' X * scale.h X * Copyright (C) 1989, 1991, Craig E. Kolb X * All rights reserved. X * This software may be freely copied, modified, and redistributed X * provided that this copyright notice is preserved on all copies. 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 * There is no warranty or other guarantee of fitness of this software X * for any purpose. It is provided solely "as is". X * $Id: scale.h,v 4.0 91/07/17 14:32:17 kolb Exp Locker: kolb $ X * $Log: scale.h,v $ X * Revision 4.0 91/07/17 14:32:17 kolb X * Initial version. X#ifndef SCALE_H X#define SCALE_H X#define TransScaleCreate() TransCreate((TransRef)ScaleCreate(), ScaleMethods()) 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) Xtypedef Vector Scale; Xextern Scale *ScaleCreate(); Xextern TransMethods *ScaleMethods(); Xextern void ScalePropagate(); 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! # end of 'libray/libcommon/scale.h' if test -f 'libray/liblight/extended.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'libray/liblight/extended.h'\" echo shar: Extracting \"'libray/liblight/extended.h'\" \(1028 characters\) sed "s/^X//" >'libray/liblight/extended.h' <<'END_OF_FILE' X * extended.h X * Copyright (C) 1989, 1991, Craig E. Kolb X * All rights reserved. X * This software may be freely copied, modified, and redistributed X * provided that this copyright notice is preserved on all copies. 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 * There is no warranty or other guarantee of fitness of this software X * for any purpose. It is provided solely "as is". X * $Id: extended.h,v 4.0 91/07/17 14:34:18 kolb Exp Locker: kolb $ X * $Log: extended.h,v $ X * Revision 4.0 91/07/17 14:34:18 kolb X * Initial version. X#ifndef EXTENDED_H X#define EXTENDED_H X#define LightExtendedCreate(c,r,p) LightCreate( \ X (LightRef)ExtendedCreate(r,p), ExtendedMethods(), c) Xtypedef struct { X Vector pos; X Float radius; X} Extended; Xextern Extended *ExtendedCreate(); Xextern LightMethods *ExtendedMethods(); Xextern int ExtendedIntens(); Xextern void ExtendedDirection(); 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! # end of 'libray/liblight/extended.h' if test -f 'libray/liblight/infinite.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'libray/liblight/infinite.h'\" echo shar: Extracting \"'libray/liblight/infinite.h'\" \(1011 characters\) sed "s/^X//" >'libray/liblight/infinite.h' <<'END_OF_FILE' X * infinite.h X * Copyright (C) 1989, 1991, Craig E. Kolb X * All rights reserved. X * This software may be freely copied, modified, and redistributed X * provided that this copyright notice is preserved on all copies. 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 * There is no warranty or other guarantee of fitness of this software X * for any purpose. It is provided solely "as is". X * $Id: infinite.h,v 4.0 91/07/17 14:34:34 kolb Exp Locker: kolb $ X * $Log: infinite.h,v $ X * Revision 4.0 91/07/17 14:34:34 kolb X * Initial version. X#ifndef INFINITE_H X#define INFINITE_H X#define LightInfiniteCreate(c,d) LightCreate((LightRef)InfiniteCreate(d), \ X InfiniteMethods(), c) Xtypedef struct { X Vector dir; X} Infinite; Xextern Infinite *InfiniteCreate(); Xextern LightMethods *InfiniteMethods(); Xextern int InfiniteIntens(); Xextern void InfiniteDirection(); 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! # end of 'libray/liblight/infinite.h' if test -f 'libray/liblight/jittered.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'libray/liblight/jittered.h'\" echo shar: Extracting \"'libray/liblight/jittered.h'\" \(1033 characters\) sed "s/^X//" >'libray/liblight/jittered.h' <<'END_OF_FILE' X * jittered.h X * Copyright (C) 1989, 1991, Craig E. Kolb X * All rights reserved. X * This software may be freely copied, modified, and redistributed X * provided that this copyright notice is preserved on all copies. 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 * There is no warranty or other guarantee of fitness of this software X * for any purpose. It is provided solely "as is". X * $Id: jittered.h,v 4.0 91/07/17 14:34:50 kolb Exp Locker: kolb $ X * $Log: jittered.h,v $ X * Revision 4.0 91/07/17 14:34:50 kolb X * Initial version. X#ifndef JITTERED_H X#define JITTERED_H 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; Xextern Jittered *JitteredCreate(); Xextern LightMethods *JitteredMethods(); Xextern int JitteredIntens(); Xextern void JitteredDirection(); 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! # end of 'libray/liblight/jittered.h' if test -f 'libray/liblight/point.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'libray/liblight/point.h'\" echo shar: Extracting \"'libray/liblight/point.h'\" \(975 characters\) sed "s/^X//" >'libray/liblight/point.h' <<'END_OF_FILE' X * point.h X * Copyright (C) 1989, 1991, Craig E. Kolb X * All rights reserved. X * This software may be freely copied, modified, and redistributed X * provided that this copyright notice is preserved on all copies. 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 * There is no warranty or other guarantee of fitness of this software X * for any purpose. It is provided solely "as is". X * $Id: point.h,v 4.0 91/07/17 14:35:27 kolb Exp Locker: kolb $ X * $Log: point.h,v $ X * Revision 4.0 91/07/17 14:35:27 kolb X * Initial version. X#ifndef POINT_H X#define POINT_H X#define LightPointCreate(c,p) LightCreate((LightRef)PointCreate(p), \ X PointMethods(),c) Xtypedef struct { X Vector pos; X} Pointlight; Xextern Pointlight *PointCreate(); Xextern LightMethods *PointMethods(); Xextern int PointIntens(); Xextern void PointDirection(); 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! # end of 'libray/liblight/point.h' if test -f 'libray/liblight/spot.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'libray/liblight/spot.h'\" echo shar: Extracting \"'libray/liblight/spot.h'\" \(1010 characters\) sed "s/^X//" >'libray/liblight/spot.h' <<'END_OF_FILE' X * spot.h X * Copyright (C) 1989, 1991, Craig E. Kolb X * All rights reserved. X * This software may be freely copied, modified, and redistributed X * provided that this copyright notice is preserved on all copies. 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 * There is no warranty or other guarantee of fitness of this software X * for any purpose. It is provided solely "as is". X * $Id: spot.h,v 4.0 91/07/17 14:35:50 kolb Exp Locker: kolb $ X * $Log: spot.h,v $ X * Revision 4.0 91/07/17 14:35:50 kolb X * Initial version. X#ifndef SPOT_H X#define SPOT_H 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; Xextern Spotlight *SpotCreate(); Xextern LightMethods *SpotMethods(); Xextern int SpotIntens(); Xextern void SpotDirection(); 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! # end of 'libray/liblight/spot.h' if test -f 'libray/libobj/box.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'libray/libobj/box.h'\" echo shar: Extracting \"'libray/libobj/box.h'\" \(1007 characters\) sed "s/^X//" >'libray/libobj/box.h' <<'END_OF_FILE' X * box.h X * Copyright (C) 1989, 1991, Craig E. Kolb X * All rights reserved. X * This software may be freely copied, modified, and redistributed X * provided that this copyright notice is preserved on all copies. 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 * There is no warranty or other guarantee of fitness of this software X * for any purpose. It is provided solely "as is". X * $Id: box.h,v 4.0 91/07/17 14:36:38 kolb Exp Locker: kolb $ X * $Log: box.h,v $ X * Revision 4.0 91/07/17 14:36:38 kolb X * Initial version. X#ifndef BOX_H X#define BOX_H X#define GeomBoxCreate(a,b) GeomCreate((GeomRef)BoxCreate(a,b), BoxMethods()) X * Box Xtypedef struct box { X Float bounds[2][3]; X} Box; Xextern Box *BoxCreate(); Xextern int BoxIntersect(), BoxEnter(), BoxNormal(); Xextern void BoxBounds(), BoxStats(); Xextern char *BoxName(); Xextern Methods *BoxMethods(); 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! # end of 'libray/libobj/box.h' if test -f 'libray/libobj/cone.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'libray/libobj/cone.h'\" echo shar: Extracting \"'libray/libobj/cone.h'\" \(1069 characters\) sed "s/^X//" >'libray/libobj/cone.h' <<'END_OF_FILE' X * cone.h X * Copyright (C) 1989, 1991, Craig E. Kolb X * All rights reserved. X * This software may be freely copied, modified, and redistributed X * provided that this copyright notice is preserved on all copies. 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 * There is no warranty or other guarantee of fitness of this software X * for any purpose. It is provided solely "as is". X * $Id: cone.h,v 4.0 91/07/17 14:36:49 kolb Exp Locker: kolb $ X * $Log: cone.h,v $ X * Revision 4.0 91/07/17 14:36:49 kolb X * Initial version. X#ifndef CONE_H X#define CONE_H X#define GeomConeCreate(c,a,r1,r2) GeomCreate((GeomRef)ConeCreate(c,a,r1,r2), \ X ConeMethods()) X * Cone Xtypedef struct cone { X Float start_dist; X Trans trans; X} Cone; Xextern Cone *ConeCreate(); Xextern int ConeIntersect(), ConeEnter(), ConeNormal(); Xextern void ConeBounds(), ConeUV(), ConeStats(); Xextern char *ConeName(); Xextern Methods *ConeMethods(); 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! # end of 'libray/libobj/cone.h' if test -f 'libray/libobj/cylinder.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'libray/libobj/cylinder.h'\" echo shar: Extracting \"'libray/libobj/cylinder.h'\" \(1134 characters\) sed "s/^X//" >'libray/libobj/cylinder.h' <<'END_OF_FILE' X * cylinder.h X * Copyright (C) 1989, 1991, Craig E. Kolb X * All rights reserved. X * This software may be freely copied, modified, and redistributed X * provided that this copyright notice is preserved on all copies. 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 * There is no warranty or other guarantee of fitness of this software X * for any purpose. It is provided solely "as is". X * $Id: cylinder.h,v 4.0 91/07/17 14:37:18 kolb Exp Locker: kolb $ X * $Log: cylinder.h,v $ X * Revision 4.0 91/07/17 14:37:18 kolb X * Initial version. X#ifndef CYLINDER_H X#define CYLINDER_H X#define GeomCylinderCreate(c,a,r) GeomCreate((GeomRef)CylinderCreate(c,a,r), \ X CylinderMethods()) X * Cylinder Xtypedef struct cylinder { X Trans trans; X} Cylinder; Xextern Cylinder *CylinderCreate(); Xextern int CylinderIntersect(), CylinderEnter(), CylinderNormal(); Xextern void CylinderBounds(), CylinderUV(), X CylinderStats(); Xextern char *CylinderName(); Xextern Methods *CylinderMethods(); X#endif /* CYLINDER_H */ END_OF_FILE if test 1134 -ne `wc -c <'libray/libobj/cylinder.h'`; then echo shar: \"'libray/libobj/cylinder.h'\" unpacked with wrong size! # end of 'libray/libobj/cylinder.h' if test -f 'libray/libobj/disc.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'libray/libobj/disc.h'\" echo shar: Extracting \"'libray/libobj/disc.h'\" \(1110 characters\) sed "s/^X//" >'libray/libobj/disc.h' <<'END_OF_FILE' X * disc.h X * Copyright (C) 1989, 1991, Craig E. Kolb X * All rights reserved. X * This software may be freely copied, modified, and redistributed X * provided that this copyright notice is preserved on all copies. 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 * There is no warranty or other guarantee of fitness of this software X * for any purpose. It is provided solely "as is". X * $Id: disc.h,v 4.0 91/07/17 14:37:31 kolb Exp Locker: kolb $ X * $Log: disc.h,v $ X * Revision 4.0 91/07/17 14:37:31 kolb X * Initial version. X#ifndef DISC_H X#define DISC_H X#define GeomDiscCreate(r,p,n) GeomCreate((GeomRef)DiscCreate(r,p,n), \ X DiscMethods()) Xtypedef struct disc { X Float radius, d; /* Radius squared, plane constant */ X Vector norm, pos; /* Normal, center */ X} Disc; Xextern Disc *DiscCreate(); Xextern Methods *DiscMethods(); Xextern int DiscIntersect(), DiscEnter(), DiscNormal(); Xextern void DiscBounds(), DiscUV(), DiscStats(); Xextern char *DiscName(); 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! # end of 'libray/libobj/disc.h' if test -f 'libray/libobj/list.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'libray/libobj/list.h'\" echo shar: Extracting \"'libray/libobj/list.h'\" \(1142 characters\) sed "s/^X//" >'libray/libobj/list.h' <<'END_OF_FILE' X * list.h X * Copyright (C) 1989, 1991, Craig E. Kolb X * All rights reserved. X * This software may be freely copied, modified, and redistributed X * provided that this copyright notice is preserved on all copies. 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 * There is no warranty or other guarantee of fitness of this software X * for any purpose. It is provided solely "as is". X * $Id: list.h,v 4.0 91/07/17 14:38:45 kolb Exp Locker: kolb $ X * $Log: list.h,v $ X * Revision 4.0 91/07/17 14:38:45 kolb X * Initial version. X#ifndef LIST_H X#define LIST_H X#define GeomListCreate() GeomCreate((GeomRef)ListCreate(), ListMethods()) X * List object 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; Xextern char *ListName(); Xextern int ListIntersect(), ListConvert(); Xextern void ListBounds(); Xextern List *ListCreate(); Xextern Methods *ListMethods(); 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! # end of 'libray/libobj/list.h' if test -f 'libray/libobj/plane.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'libray/libobj/plane.h'\" echo shar: Extracting \"'libray/libobj/plane.h'\" \(1113 characters\) sed "s/^X//" >'libray/libobj/plane.h' <<'END_OF_FILE' X * plane.h X * Copyright (C) 1989, 1991, Craig E. Kolb X * All rights reserved. X * This software may be freely copied, modified, and redistributed X * provided that this copyright notice is preserved on all copies. 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 * There is no warranty or other guarantee of fitness of this software X * for any purpose. It is provided solely "as is". X * $Id: plane.h,v 4.0 91/07/17 14:38:54 kolb Exp Locker: kolb $ X * $Log: plane.h,v $ X * Revision 4.0 91/07/17 14:38:54 kolb X * Initial version. X#ifndef PLANE_H X#define PLANE_H X#define GeomPlaneCreate(p,n) GeomCreate((GeomRef)PlaneCreate(p,n), \ X PlaneMethods()) X * Plane Xtypedef struct { X Vector norm, pos; /* Plane normal, point on plane */ X Float d; /* Plane constant. */ X} Plane; Xextern Plane *PlaneCreate(); Xextern int PlaneIntersect(), PlaneNormal(); Xextern void PlaneBounds(), PlaneUV(), PlaneStats(); Xextern char *PlaneName(); Xextern Methods *PlaneMethods(); 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! # end of 'libray/libobj/plane.h' if test -f 'libray/libobj/sphere.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'libray/libobj/sphere.h'\" echo shar: Extracting \"'libray/libobj/sphere.h'\" \(1138 characters\) sed "s/^X//" >'libray/libobj/sphere.h' <<'END_OF_FILE' X * sphere.h X * Copyright (C) 1989, 1991, Craig E. Kolb X * All rights reserved. X * This software may be freely copied, modified, and redistributed X * provided that this copyright notice is preserved on all copies. 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 * There is no warranty or other guarantee of fitness of this software X * for any purpose. It is provided solely "as is". X * $Id: sphere.h,v 4.0 91/07/17 14:39:23 kolb Exp Locker: kolb $ X * $Log: sphere.h,v $ X * Revision 4.0 91/07/17 14:39:23 kolb X * Initial version. X#ifndef SPHERE_H X#define SPHERE_H X#define GeomSphereCreate(r,p) GeomCreate((GeomRef)SphereCreate(r,p), \ X SphereMethods()) X * Sphere Xtypedef struct { X Float r, rsq; /* radius, radius squared */ X Float x, y, z; /* position */ X} Sphere; Xextern Sphere *SphereCreate(); Xextern Methods *SphereMethods(); Xextern int SphereIntersect(), SphereEnter(), SphereNormal(); Xextern void SphereBounds(), SphereUV(), SphereStats(); Xextern char *SphereName(); 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! # end of 'libray/libobj/sphere.h' if test -f 'libray/libsurf/fog.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'libray/libsurf/fog.h'\" echo shar: Extracting \"'libray/libsurf/fog.h'\" \(913 characters\) sed "s/^X//" >'libray/libsurf/fog.h' <<'END_OF_FILE' X * fog.h X * Copyright (C) 1989, 1991, Craig E. Kolb X * All rights reserved. X * This software may be freely copied, modified, and redistributed X * provided that this copyright notice is preserved on all copies. 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 * There is no warranty or other guarantee of fitness of this software X * for any purpose. It is provided solely "as is". X * $Id: fog.h,v 4.0 91/07/17 14:40:22 kolb Exp Locker: kolb $ X * $Log: fog.h,v $ X * Revision 4.0 91/07/17 14:40:22 kolb X * Initial version. X#ifndef FOG_H 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; Xextern Fog *FogCreate(); Xextern void FogApply(); 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! # end of 'libray/libsurf/fog.h' if test -f 'libray/libsurf/fogdeck.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'libray/libsurf/fogdeck.h'\" echo shar: Extracting \"'libray/libsurf/fogdeck.h'\" \(1101 characters\) sed "s/^X//" >'libray/libsurf/fogdeck.h' <<'END_OF_FILE' X * fogdeck.h X * Copyright (C) 1989, 1991, Craig E. Kolb X * All rights reserved. X * This software may be freely copied, modified, and redistributed X * provided that this copyright notice is preserved on all copies. 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 * There is no warranty or other guarantee of fitness of this software X * for any purpose. It is provided solely "as is". X * $Id: fogdeck.h,v 4.0 91/07/17 14:40:35 kolb Exp Locker: kolb $ X * $Log: fogdeck.h,v $ X * Revision 4.0 91/07/17 14:40:35 kolb X * Initial version. X#ifndef FOGDECK_H 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; Xextern Fogdeck *FogdeckCreate(); Xextern void FogdeckApply(); 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! # end of 'libray/libsurf/fogdeck.h' if test -f 'libray/libsurf/mist.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'libray/libsurf/mist.h'\" echo shar: Extracting \"'libray/libsurf/mist.h'\" \(991 characters\) sed "s/^X//" >'libray/libsurf/mist.h' <<'END_OF_FILE' X * mist.h X * Copyright (C) 1989, 1991, Craig E. Kolb X * All rights reserved. X * This software may be freely copied, modified, and redistributed X * provided that this copyright notice is preserved on all copies. 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 * There is no warranty or other guarantee of fitness of this software X * for any purpose. It is provided solely "as is". X * $Id: mist.h,v 4.0 91/07/17 14:40:46 kolb Exp Locker: kolb $ X * $Log: mist.h,v $ X * Revision 4.0 91/07/17 14:40:46 kolb X * Initial version. X#ifndef MIST_H 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; Xextern Mist *MistCreate(); Xextern void MistApply(); X#endif /* MIST_H */ END_OF_FILE if test 991 -ne `wc -c <'libray/libsurf/mist.h'`; then echo shar: \"'libray/libsurf/mist.h'\" unpacked with wrong size! # end of 'libray/libsurf/mist.h' if test -f 'libray/libtext/blotch.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'libray/libtext/blotch.h'\" echo shar: Extracting \"'libray/libtext/blotch.h'\" \(902 characters\) sed "s/^X//" >'libray/libtext/blotch.h' <<'END_OF_FILE' X * blotch.h X * Copyright (C) 1989, 1991, Craig E. Kolb X * All rights reserved. X * This software may be freely copied, modified, and redistributed X * provided that this copyright notice is preserved on all copies. 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 * There is no warranty or other guarantee of fitness of this software X * for any purpose. It is provided solely "as is". X * $Id: blotch.h,v 4.0 91/07/17 14:41:34 kolb Exp Locker: kolb $ X * $Log: blotch.h,v $ X * Revision 4.0 91/07/17 14:41:34 kolb X * Initial version. X#ifndef BLOTCH_H X#define TextBlotchCreate(m,s) TextCreate((TextRef) BlotchCreate(m,s), \ X BlotchApply) Xtypedef struct { X Float mix; X Surface *surf; X} Blotch; Xextern Blotch *BlotchCreate(); Xextern void BlotchApply(); 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! # end of 'libray/libtext/blotch.h' if test -f 'libray/libtext/checker.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'libray/libtext/checker.h'\" echo shar: Extracting \"'libray/libtext/checker.h'\" \(923 characters\) sed "s/^X//" >'libray/libtext/checker.h' <<'END_OF_FILE' X * checker.h X * Copyright (C) 1989, 1991, Craig E. Kolb X * All rights reserved. X * This software may be freely copied, modified, and redistributed X * provided that this copyright notice is preserved on all copies. 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 * There is no warranty or other guarantee of fitness of this software X * for any purpose. It is provided solely "as is". X * $Id: checker.h,v 4.0 91/07/17 14:41:51 kolb Exp Locker: kolb $ X * $Log: checker.h,v $ X * Revision 4.0 91/07/17 14:41:51 kolb X * Initial version. X#ifndef CHECKER_H X#define TextCheckerCreate(s) TextCreate((TextRef) CheckerCreate(s), \ X CheckerApply) Xtypedef struct { X Surface *surf; /* Alternate surface */ X} Checker; Xextern Checker *CheckerCreate(); Xextern void CheckerApply(); 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! # end of 'libray/libtext/checker.h' if test -f 'libray/libtext/cloud.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'libray/libtext/cloud.h'\" echo shar: Extracting \"'libray/libtext/cloud.h'\" \(1010 characters\) sed "s/^X//" >'libray/libtext/cloud.h' <<'END_OF_FILE' X * cloud.h X * Copyright (C) 1989, 1991, Craig E. Kolb X * All rights reserved. X * This software may be freely copied, modified, and redistributed X * provided that this copyright notice is preserved on all copies. 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 * There is no warranty or other guarantee of fitness of this software X * for any purpose. It is provided solely "as is". X * $Id: cloud.h,v 4.0 91/07/17 14:42:00 kolb Exp Locker: kolb $ X * $Log: cloud.h,v $ X * Revision 4.0 91/07/17 14:42:00 kolb X * Initial version. X#ifndef CLOUDTEXT_H 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; Xextern CloudText *CloudTextCreate(); Xextern void CloudTextApply(); 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! # end of 'libray/libtext/cloud.h' if test -f 'libray/libtext/fbm.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'libray/libtext/fbm.h'\" echo shar: Extracting \"'libray/libtext/fbm.h'\" \(963 characters\) sed "s/^X//" >'libray/libtext/fbm.h' <<'END_OF_FILE' X * fbm.h X * Copyright (C) 1989, 1991, Craig E. Kolb X * All rights reserved. X * This software may be freely copied, modified, and redistributed X * provided that this copyright notice is preserved on all copies. 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 * There is no warranty or other guarantee of fitness of this software X * for any purpose. It is provided solely "as is". X * $Id: fbm.h,v 4.0 91/07/17 14:42:11 kolb Exp Locker: kolb $ X * $Log: fbm.h,v $ X * Revision 4.0 91/07/17 14:42:11 kolb X * Initial version. X#ifndef FBM_H X#define FBM_H 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; Xextern FBm *FBmCreate(); Xextern void FBmApply(); 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! # end of 'libray/libtext/fbm.h' if test -f 'libray/libtext/gloss.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'libray/libtext/gloss.h'\" echo shar: Extracting \"'libray/libtext/gloss.h'\" \(891 characters\) sed "s/^X//" >'libray/libtext/gloss.h' <<'END_OF_FILE' X * gloss.h X * Copyright (C) 1989, 1991, Craig E. Kolb X * All rights reserved. X * This software may be freely copied, modified, and redistributed X * provided that this copyright notice is preserved on all copies. 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 * There is no warranty or other guarantee of fitness of this software X * for any purpose. It is provided solely "as is". X * $Id: gloss.h,v 4.0 91/07/17 14:42:33 kolb Exp Locker: kolb $ X * $Log: gloss.h,v $ X * Revision 4.0 91/07/17 14:42:33 kolb X * Initial version. X#ifndef GLOSS_H X#define TextGlossCreate(g) TextCreate((TextRef) GlossCreate(g), \ X GlossApply) Xtypedef struct { X Float glossy; /* glossiness */ X} Gloss; Xextern Gloss *GlossCreate(); Xextern void GlossApply(); X#endif /* GLOSS_H */ END_OF_FILE if test 891 -ne `wc -c <'libray/libtext/gloss.h'`; then echo shar: \"'libray/libtext/gloss.h'\" unpacked with wrong size! # end of 'libray/libtext/gloss.h' if test -f 'libray/libtext/mapping.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'libray/libtext/mapping.h'\" echo shar: Extracting \"'libray/libtext/mapping.h'\" \(1097 characters\) sed "s/^X//" >'libray/libtext/mapping.h' <<'END_OF_FILE' X * mapping.h X * Copyright (C) 1989, 1991, Craig E. Kolb X * All rights reserved. X * This software may be freely copied, modified, and redistributed X * provided that this copyright notice is preserved on all copies. 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 * There is no warranty or other guarantee of fitness of this software X * for any purpose. It is provided solely "as is". X * $Id: mapping.h,v 4.0 91/07/17 14:43:00 kolb Exp Locker: kolb $ X * $Log: mapping.h,v $ X * Revision 4.0 91/07/17 14:43:00 kolb X * Initial version. X#ifndef MAPPING_H X#define MAPPING_H X#define PRIMSPACE 01 /* Mapping uses data in prim space */ X#define OBJSPACE 02 /* Mapping uses data in object space */ 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; Xextern Mapping *UVMappingCreate(), *SphereMappingCreate(), *CylMappingCreate(), X *LinearMappingCreate(); 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! # end of 'libray/libtext/mapping.h' if test -f 'libray/libtext/marble.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'libray/libtext/marble.h'\" echo shar: Extracting \"'libray/libtext/marble.h'\" \(911 characters\) sed "s/^X//" >'libray/libtext/marble.h' <<'END_OF_FILE' X * marble.h X * Copyright (C) 1989, 1991, Craig E. Kolb X * All rights reserved. X * This software may be freely copied, modified, and redistributed X * provided that this copyright notice is preserved on all copies. 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 * There is no warranty or other guarantee of fitness of this software X * for any purpose. It is provided solely "as is". X * $Id: marble.h,v 4.0 91/07/17 14:43:10 kolb Exp Locker: kolb $ X * $Log: marble.h,v $ X * Revision 4.0 91/07/17 14:43:10 kolb X * Initial version. X#ifndef MARBLE_H X#define TextMarbleCreate(m) TextCreate((TextRef) MarbleCreate(m), \ X MarbleApply) Xtypedef struct { X Color *colormap; /* colormap */ X} MarbleText; Xextern MarbleText *MarbleCreate(); Xextern void MarbleApply(); 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! # end of 'libray/libtext/marble.h' if test -f 'libray/libtext/mount.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'libray/libtext/mount.h'\" echo shar: Extracting \"'libray/libtext/mount.h'\" \(900 characters\) sed "s/^X//" >'libray/libtext/mount.h' <<'END_OF_FILE' X * mount.h X * Copyright (C) 1989, 1991, Craig E. Kolb X * All rights reserved. X * This software may be freely copied, modified, and redistributed X * provided that this copyright notice is preserved on all copies. 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 * There is no warranty or other guarantee of fitness of this software X * for any purpose. It is provided solely "as is". X * $Id: mount.h,v 4.0 91/07/17 14:43:26 kolb Exp Locker: kolb $ X * $Log: mount.h,v $ X * Revision 4.0 91/07/17 14:43:26 kolb X * Initial version. X#ifndef MOUNT_H 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; Xextern Mount *MountCreate(); Xextern void MountApply(); 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! # end of 'libray/libtext/mount.h' if test -f 'libray/libtext/sky.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'libray/libtext/sky.h'\" echo shar: Extracting \"'libray/libtext/sky.h'\" \(929 characters\) sed "s/^X//" >'libray/libtext/sky.h' <<'END_OF_FILE' X * sky.h X * Copyright (C) 1989, 1991, Craig E. Kolb X * All rights reserved. X * This software may be freely copied, modified, and redistributed X * provided that this copyright notice is preserved on all copies. 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 * There is no warranty or other guarantee of fitness of this software X * for any purpose. It is provided solely "as is". X * $Id: sky.h,v 4.0 91/07/17 14:43:46 kolb Exp Locker: kolb $ X * $Log: sky.h,v $ X * Revision 4.0 91/07/17 14:43:46 kolb X * Initial version. X#ifndef SKY_H 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; Xextern Sky *SkyCreate(); Xextern void SkyApply(); 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! # end of 'libray/libtext/sky.h' if test -f 'libray/libtext/stripe.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'libray/libtext/stripe.h'\" echo shar: Extracting \"'libray/libtext/stripe.h'\" \(938 characters\) sed "s/^X//" >'libray/libtext/stripe.h' <<'END_OF_FILE' X * stripe.h X * Copyright (C) 1989, 1991, Craig E. Kolb X * All rights reserved. X * This software may be freely copied, modified, and redistributed X * provided that this copyright notice is preserved on all copies. 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 * There is no warranty or other guarantee of fitness of this software X * for any purpose. It is provided solely "as is". X * $Id: stripe.h,v 4.0 91/07/17 14:43:55 kolb Exp Locker: kolb $ X * $Log: stripe.h,v $ X * Revision 4.0 91/07/17 14:43:55 kolb X * Initial version. X#ifndef STRIPE_H 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; Xextern Stripe *StripeCreate(); Xextern void StripeApply(); 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! # end of 'libray/libtext/stripe.h' if test -f 'libray/libtext/windy.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'libray/libtext/windy.h'\" echo shar: Extracting \"'libray/libtext/windy.h'\" \(989 characters\) sed "s/^X//" >'libray/libtext/windy.h' <<'END_OF_FILE' X * windy.h X * Copyright (C) 1989, 1991, Craig E. Kolb X * All rights reserved. X * This software may be freely copied, modified, and redistributed X * provided that this copyright notice is preserved on all copies. 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 * There is no warranty or other guarantee of fitness of this software X * for any purpose. It is provided solely "as is". X * $Id: windy.h,v 4.0 91/07/17 14:44:28 kolb Exp Locker: kolb $ X * $Log: windy.h,v $ X * Revision 4.0 91/07/17 14:44:28 kolb X * Initial version. X#ifndef WINDY_H X#define TextWindyCreate(s,w,c,b,o,t,h,i) TextCreate( \ X (TextRef)WindyCreate(s,w,c,b,o,t,h,i), WindyApply) Xtypedef struct { X Float scale, X windscale, X chaoscale, X bumpscale, X tscale, X hscale, X offset; X int octaves; X} WindyText; Xextern WindyText *WindyCreate(); Xextern void WindyApply(); 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! # end of 'libray/libtext/windy.h' if test -f 'libshade/picture.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'libshade/picture.h'\" echo shar: Extracting \"'libshade/picture.h'\" \(1137 characters\) sed "s/^X//" >'libshade/picture.h' <<'END_OF_FILE' X * picture.h X * Copyright (C) 1989, 1991, Craig E. Kolb X * All rights reserved. X * This software may be freely copied, modified, and redistributed X * provided that this copyright notice is preserved on all copies. 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 * There is no warranty or other guarantee of fitness of this software X * for any purpose. It is provided solely "as is". X * $Id: picture.h,v 4.0 91/07/17 14:47:07 kolb Exp Locker: kolb $ X * $Log: picture.h,v $ X * Revision 4.0 91/07/17 14:47:07 kolb X * Initial version. X#ifndef PICTURE_H X#define PICTURE_H X#ifdef URT X#include "rle.h" X#include "rle_raw.h" X#endif X#define CORRECT(x) (correct(GAMMACORRECT(x))) X#define GAMMACORRECT(x) (Options.gamma == 1. ? (x) \ X : (pow(x, Options.gamma))) X * Pixel Xtypedef struct Pixel { X Float r, g, b, alpha; /* Red, green, blue, alpha channel */ X} Pixel; Xextern void PictureStart(), PictureEnd(), PictureWriteLine(); X#ifdef URT Xextern void PictureSetWindow(); X#endif 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! # end of 'libshade/picture.h' if test -f 'rayshade/raytrace.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'rayshade/raytrace.h'\" echo shar: Extracting \"'rayshade/raytrace.h'\" \(909 characters\) sed "s/^X//" >'rayshade/raytrace.h' <<'END_OF_FILE' X * raytrace.h X * Copyright (C) 1989, 1991, Craig E. Kolb X * All rights reserved. X * This software may be freely copied, modified, and redistributed X * provided that this copyright notice is preserved on all copies. 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 * There is no warranty or other guarantee of fitness of this software X * for any purpose. It is provided solely "as is". X * $Id: raytrace.h,v 4.0 91/07/17 14:51:25 kolb Exp Locker: kolb $ X * $Log: raytrace.h,v $ X * Revision 4.0 91/07/17 14:51:25 kolb X * Initial version. X#ifndef RAYTRACE_H X#define RAYTRACE_H X#include "picture.h" Xtypedef struct { X Float x, y, size; /* location and size */ X Pixel ul, ur, ll, lr; /* Color values of four corners */ X} pixel_square; Xextern void raytrace(); 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! # end of 'rayshade/raytrace.h' 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 if test "${MISSING}" = "" ; then echo You have unpacked all 19 archives. rm -f ark[1-9]isdone ark[1-9][0-9]isdone echo You still need to unpack the following archives: echo " " ${MISSING} ## End of shell archive. exit 0 exit 0 # Just in case...