ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/rt/renderopts.c
(Generate patch)

Comparing ray/src/rt/renderopts.c (file contents):
Revision 2.2 by greg, Tue Feb 25 02:47:23 2003 UTC vs.
Revision 2.15 by greg, Tue Jul 8 18:25:00 2014 UTC

# Line 10 | Line 10 | static const char      RCSid[] = "$Id$";
10   #include "copyright.h"
11  
12   #include  "ray.h"
13 + #include  "paths.h"
14  
15  
16   int
17 < getrenderopt(ac, av)            /* get next render option */
18 < int  ac;
19 < char  *av[];
17 > getrenderopt(           /* get next render option */
18 >        int  ac,
19 >        char  *av[]
20 > )
21   {
22   #define  check(ol,al)           if (av[0][ol] || \
23                                  badarg(ac-1,av+1,al)) \
# Line 34 | Line 36 | char  *av[];
36                  return(-1);
37                                          /* check if it's one we know */
38          switch (av[0][1]) {
39 +        case 'u':                               /* uncorrelated sampling */
40 +                bool(2,rand_samp);
41 +                return(0);
42          case 'b':                               /* back face vis. */
43                  if (av[0][2] == 'v') {
44                          bool(3,backvis);
# Line 77 | Line 82 | char  *av[];
82                          check(3,"f");
83                          specthresh = atof(av[1]);
84                          return(1);
85 <                case 'j':                               /* jitter */
85 >                case 's':                               /* sampling */
86                          check(3,"f");
87                          specjitter = atof(av[1]);
88                          return(1);
# Line 139 | Line 144 | char  *av[];
144                          }
145                          if (av[0][2] == 'I') {  /* file */
146                                  rval = wordfile(amblp,
147 <                                        getpath(av[1],getlibpath(),R_OK));
147 >                                        getpath(av[1],getrlibpath(),R_OK));
148                                  if (rval < 0) {
149                                          sprintf(errmsg,
150 <                        "cannot open ambient include file \"%s\"", av[0]);
150 >                        "cannot open ambient include file \"%s\"", av[1]);
151                                          error(SYSTEM, errmsg);
152                                  }
153                                  amblp += rval;
154                          } else {
155 <                                *amblp++ = av[1];
155 >                                *amblp++ = savqstr(av[1]);
156                                  *amblp = NULL;
157                          }
158                          return(1);
# Line 160 | Line 165 | char  *av[];
165                          }
166                          if (av[0][2] == 'E') {  /* file */
167                                  rval = wordfile(amblp,
168 <                                        getpath(av[1],getlibpath(),R_OK));
168 >                                        getpath(av[1],getrlibpath(),R_OK));
169                                  if (rval < 0) {
170                                          sprintf(errmsg,
171 <                        "cannot open ambient exclude file \"%s\"", av[0]);
171 >                        "cannot open ambient exclude file \"%s\"", av[1]);
172                                          error(SYSTEM, errmsg);
173                                  }
174                                  amblp += rval;
175                          } else {
176 <                                *amblp++ = av[1];
176 >                                *amblp++ = savqstr(av[1]);
177                                  *amblp = NULL;
178                          }
179                          return(1);
180                  case 'f':                               /* file */
181                          check(3,"s");
182 <                        ambfile= av[1];
182 >                        ambfile = savqstr(av[1]);
183                          return(1);
184                  }
185                  break;
# Line 211 | Line 216 | char  *av[];
216  
217  
218   void
219 < print_rdefaults()               /* print default render values to stdout */
219 > print_rdefaults(void)           /* print default render values to stdout */
220   {
216        register char  *cp;
217
221          printf(do_irrad ? "-i+\t\t\t\t# irradiance calculation on\n" :
222                          "-i-\t\t\t\t# irradiance calculation off\n");
223 +        printf(rand_samp ? "-u+\t\t\t\t# uncorrelated Monte Carlo sampling\n" :
224 +                        "-u-\t\t\t\t# correlated quasi-Monte Carlo sampling\n");
225          printf(backvis ? "-bv+\t\t\t\t# back face visibility on\n" :
226                          "-bv-\t\t\t\t# back face visibility off\n");
227          printf("-dt %f\t\t\t# direct threshold\n", shadthresh);
# Line 227 | Line 232 | print_rdefaults()              /* print default render values to s
232          printf("-dp %-9d\t\t\t# direct pretest density\n", vspretest);
233          printf(directvis ? "-dv+\t\t\t\t# direct visibility on\n" :
234                          "-dv-\t\t\t\t# direct visibility off\n");
235 <        printf("-sj %f\t\t\t# specular jitter\n", specjitter);
235 >        printf("-ss %f\t\t\t# specular sampling\n", specjitter);
236          printf("-st %f\t\t\t# specular threshold\n", specthresh);
237          printf("-av %f %f %f\t# ambient value\n", colval(ambval,RED),
238                          colval(ambval,GRN), colval(ambval, BLU));
# Line 245 | Line 250 | print_rdefaults()              /* print default render values to s
250                          colval(salbedo,GRN), colval(salbedo,BLU));
251          printf("-mg %f\t\t\t# mist scattering eccentricity\n", seccg);
252          printf("-ms %f\t\t\t# mist sampling distance\n", ssampdist);
253 <        printf("-lr %-9d\t\t\t# limit reflection\n", maxdepth);
254 <        printf("-lw %f\t\t\t# limit weight\n", minweight);
253 >        printf("-lr %-9d\t\t\t# limit reflection%s\n", maxdepth,
254 >                        maxdepth<=0 ? " (Russian roulette)" : "");
255 >        printf("-lw %.2e\t\t\t# limit weight\n", minweight);
256   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines