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.14 by greg, Fri Oct 8 22:08:26 2010 UTC vs.
Revision 2.17 by schorsch, Thu Mar 10 18:25:46 2016 UTC

# Line 11 | Line 11 | static const char      RCSid[] = "$Id$";
11  
12   #include  "ray.h"
13   #include  "paths.h"
14 + #include  "pmapopt.h"
15  
16  
17 < extern int
17 > int
18   getrenderopt(           /* get next render option */
19          int  ac,
20          char  *av[]
# Line 22 | Line 23 | getrenderopt(          /* get next render option */
23   #define  check(ol,al)           if (av[0][ol] || \
24                                  badarg(ac-1,av+1,al)) \
25                                  return(-1)
26 < #define  bool(olen,var)         switch (av[0][olen]) { \
26 > #define  check_bool(olen,var)           switch (av[0][olen]) { \
27                                  case '\0': var = !var; break; \
28                                  case 'y': case 'Y': case 't': case 'T': \
29                                  case '+': case '1': var = 1; break; \
# Line 37 | Line 38 | getrenderopt(          /* get next render option */
38                                          /* check if it's one we know */
39          switch (av[0][1]) {
40          case 'u':                               /* uncorrelated sampling */
41 <                bool(2,rand_samp);
41 >                check_bool(2,rand_samp);
42                  return(0);
43          case 'b':                               /* back face vis. */
44                  if (av[0][2] == 'v') {
45 <                        bool(3,backvis);
45 >                        check_bool(3,backvis);
46                          return(0);
47                  }
48                  break;
# Line 68 | Line 69 | getrenderopt(          /* get next render option */
69                          vspretest = atoi(av[1]);
70                          return(1);
71                  case 'v':                               /* visibility */
72 <                        bool(3,directvis);
72 >                        check_bool(3,directvis);
73                          return(0);
74                  case 's':                               /* size */
75                          check(3,"f");
# Line 101 | Line 102 | getrenderopt(          /* get next render option */
102                  }
103                  break;
104          case 'i':                               /* irradiance */
105 <                bool(2,do_irrad);
105 >                check_bool(2,do_irrad);
106                  return(0);
107          case 'a':                               /* ambient */
108                  switch (av[0][2]) {
# Line 208 | Line 209 | getrenderopt(          /* get next render option */
209                  }
210                  break;
211          }
212 <        return(-1);             /* unknown option */
212 >        
213 >        /* PMAP: Parse photon mapping options */
214 >        return(getPmapRenderOpt(ac, av));
215 >        
216 > /*      return(-1); */          /* unknown option */
217  
218   #undef  check
219 < #undef  bool
219 > #undef  check_bool
220   }
221  
222  
223 < extern void
223 > void
224   print_rdefaults(void)           /* print default render values to stdout */
225   {
226          printf(do_irrad ? "-i+\t\t\t\t# irradiance calculation on\n" :
# Line 253 | Line 258 | print_rdefaults(void)          /* print default render values
258          printf("-lr %-9d\t\t\t# limit reflection%s\n", maxdepth,
259                          maxdepth<=0 ? " (Russian roulette)" : "");
260          printf("-lw %.2e\t\t\t# limit weight\n", minweight);
261 +        
262 +        /* PMAP: output photon map defaults */
263 +        printPmapDefaults();
264   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines