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.1.2 92/01/14 18:29:14 cek Exp Locker: cek $ 17 * 18 * $Log: options.h,v $ 19 * Revision 4.0.1.2 92/01/14 18:29:14 cek 20 * patch3: Added "cpp" option. 21 * 22 * Revision 4.0.1.1 91/09/29 15:51:17 cek 23 * patch1: Added window and crop options. 24 * 25 * Revision 4.0 91/07/17 14:46:54 kolb 26 * Initial version. 27 * 28 */ 29 #ifndef OPTIONS_H 30 #define OPTIONS_H 31 32 /* 33 * Constants for Stereo mode 34 */ 35 #define LEFT 1 36 #define RIGHT 2 37 38 /* 39 * Options 40 */ 41 typedef struct RSOptions { 42 int stereo, /* Stereo mode? */ 43 verbose, /* Babbling mode? */ 44 quiet, /* Don't complain? */ 45 jitter, /* use jittered sampling? */ 46 samples, /* Sqrt of # of samples */ 47 maxdepth, /* Maximum ray tree depth */ 48 report_freq, /* Frequency, in lines, of report */ 49 no_shadows, /* Trace shadow rays? */ 50 shadowtransp, /* ... through transparent objects? */ 51 cache, /* Cache shadowing info? */ 52 appending, /* Append to image file? */ 53 resolution_set, /* resolution set on command line */ 54 contrast_set, /* contrast overridden ... */ 55 samples_set, /* samples overridden ... */ 56 cutoff_set, /* cutoff ... */ 57 maxdepth_set, /* adaptive depth ... */ 58 window_set, /* subwindow ... */ 59 crop_set, /* crop window ... */ 60 freq_set, /* report frequency ... */ 61 jitter_set, /* use jittering */ 62 eyesep_set, /* eye separation ... */ 63 csg, /* CSG object someplace in world */ 64 flipnorm, /* flip normals of polygonal objs */ 65 samplemap, /* output sample map? */ 66 gaussian, /* Use gaussian pixel filter? */ 67 framenum, /* current frame number */ 68 startframe, /* Starting frame number. */ 69 endframe, /* ending frame number */ 70 totalframes, /* total # of frames */ 71 totalframes_set, /* set on command line? */ 72 cpp; /* run CPP? */ 73 #ifdef URT 74 int alpha; /* Write alpha channel? */ 75 int exp_output; /* Write exponential RLE file? */ 76 #endif 77 Float eyesep, /* Eye separation (for Stereo mode) */ 78 gamma, /* Gamma value (0 == no correction) */ 79 starttime, /* Think about it ... */ 80 shutterspeed, /* time shutter is open */ 81 framestart, /* start time of the current frame */ 82 framelength, /* length of the current frame */ 83 filterwidth; /* Pixel filter width. */ 84 Color contrast, /* Max. allowable contrast */ 85 cutoff, /* Ray tree depth control */ 86 ambient; /* Ambient light multiplier */ 87 char *progname, /* argv[0] */ 88 *statsname, /* Name of stats file. */ 89 *imgname, /* Name of output image file */ 90 *inputname, /* Name of input file, NULL == stdin */ 91 *cppargs; /* arguments to pass to cpp */ 92 int window[2][2]; /* Subwindow corners */ 93 Float crop[2][2]; /* Crop window, lo/hi normalized */ 94 #ifdef LINDA 95 int workers, /* # of worker processes */ 96 workernum, /* worker #, 0 == supervisor */ 97 verbose_worker; /* Babble while you work? */ 98 #endif 99 FILE *pictfile; /* output file pointer */ 100 } RSOptions; 101 102 extern RSOptions Options; 103 extern void OptionsList(), OptionsSet(); 104 105 #endif /* OPTIONS_H */ 106