home *** CD-ROM | disk | FTP | other *** search
/ Otherware / Otherware_1_SB_Development.iso / mac / developm / source / macraysh.sit / Code / Headers / options.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-04-28  |  3.0 KB  |  90 lines

  1. /*
  2.  * options.h
  3.  *
  4.  * Copyright (C) 1989, 1991, Craig E. Kolb
  5.  * All rights reserved.
  6.  *
  7.  * This software may be freely copied, modified, and redistributed
  8.  * provided that this copyright notice is preserved on all copies.
  9.  *
  10.  * You may not distribute this software, in whole or in part, as part of
  11.  * any commercial product without the express consent of the authors.
  12.  *
  13.  * There is no warranty or other guarantee of fitness of this software
  14.  * for any purpose.  It is provided solely "as is".
  15.  *
  16.  * $Id: options.h,v 4.0 91/07/17 14:46:54 kolb Exp Locker: kolb $
  17.  *
  18.  * $Log:    options.h,v $
  19.  * Revision 4.0  91/07/17  14:46:54  kolb
  20.  * Initial version.
  21.  * 
  22.  */
  23. #ifndef OPTIONS_H
  24. #define OPTIONS_H
  25.  
  26. /*
  27.  * Constants for Stereo mode
  28.  */
  29. #define LEFT        1
  30. #define RIGHT        2
  31.  
  32. /*
  33.  * Options
  34.  */
  35. typedef struct RSOptions {
  36.     int    stereo,                /* Stereo mode? */
  37.         verbose,            /* Babbling mode? */
  38.         quiet,                /* Don't complain? */
  39.         jitter,                /* use jittered sampling? */
  40.         samples,            /* Sqrt of # of samples */
  41.         maxdepth,            /* Maximum ray tree depth */
  42.         report_freq,        /* Frequency, in lines, of report */
  43.         no_shadows,            /* Trace shadow rays? */
  44.         shadowtransp,        /* ... through transparent objects? */
  45.         cache,                /* Cache shadowing info? */
  46.         appending,            /* Append to image file? */
  47.         resolution_set,        /* resolution set on command line */
  48.         contrast_set,        /* contrast overridden ... */
  49.         samples_set,        /* samples overridden ... */
  50.         cutoff_set,            /* cutoff ... */
  51.         maxdepth_set,        /* adaptive depth ... */
  52.         window_set,            /* window ... */
  53.         crop_set,            /* crop window ... */                  /********************/
  54.         freq_set,            /* report frequency ... */
  55.         jitter_set,            /* use jittering */
  56.         eyesep_set,            /* eye separation ... */
  57.         csg,                /* CSG object someplace in world */
  58.         flipnorm,            /* flip normals of polygonal objs */
  59.         samplemap,            /* output sample map? */
  60.         gaussian,            /* Use gaussian pixel filter? */
  61.         framenum,            /* current frame number */
  62.         startframe,            /* Starting frame number. */
  63.         endframe,            /* ending frame number */
  64.         totalframes,        /* total # of frames */
  65.         totalframes_set;    /* set on command line? */
  66.     Float eyesep,            /* Eye separation (for Stereo mode) */
  67.         gamma,                /* Gamma value (0 == no correction) */
  68.         xmin, xmax,
  69.         ymin, ymax,            /* Window range */
  70.         starttime,            /* Think about it ... */
  71.         shutterspeed,        /* time shutter is open */
  72.         framestart,            /* start time of the current frame */
  73.         framelength,        /* length of the current frame */
  74.         filterwidth;        /* Pixel filter width. */
  75.     Color contrast,            /* Max. allowable contrast */
  76.         cutoff,                /* Ray tree depth control */
  77.         ambient;            /* Ambient light multiplier */
  78.     char *progname,            /* argv[0] */
  79.         *imgname,            /* Name of output image file */
  80.         *inputname ;        /* Name of input file, NULL == stdin */
  81.     int window[2][2];           /* Subwindow corners */                 /******************/
  82.     Float crop[2][2];             /* Crop window, lo/hi normalized */   /******************/
  83.     FILE    *pictfile;        /* output file pointer */
  84. } RSOptions;
  85.  
  86. extern RSOptions Options;
  87. extern void OptionsList(), OptionsSet();
  88.  
  89. #endif /* OPTIONS_H */
  90.