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

Comparing ray/src/rt/rtmain.c (file contents):
Revision 2.47 by greg, Wed Nov 15 18:02:53 2023 UTC vs.
Revision 2.52 by greg, Fri Apr 5 16:43:33 2024 UTC

# Line 73 | Line 73 | static void printdefaults(void);
73   #ifdef PERSIST
74   #define RTRACE_FEATURES "Persist\nParallelPersist\nMultiprocessing\n" \
75                          "IrradianceCalc\nImmediateIrradiance\nDistanceLimiting\n" \
76 <                        "Hyperspectral\nParticipatingMedia=Mist\n" \
76 >                        "ParticipatingMedia=Mist\n" \
77                          "HessianAmbientCache\nAmbientAveraging\n" \
78                          "AmbientValueSharing\nAdaptiveShadowTesting\n" \
79                          "InputFormats=a,f,d\nOutputFormats=a,f,d,c\n" \
80 <                        "Outputs=o,d,v,V,w,W,l,L,c,p,n,N,s,m,M,r,x,R,X,~\n"
80 >                        "Outputs=o,d,v,V,w,W,l,L,c,p,n,N,s,m,M,r,x,R,X,~\n" \
81 >                        "OutputCS=RGB,XYZ,Y,S,M,prims,spec\n"
82   #else
83   #define RTRACE_FEATURES "IrradianceCalc\nIrradianceCalc\nDistanceLimiting\n" \
84 <                        "Hyperspectral\nParticipatingMedia=Mist\n" \
84 >                        "ParticipatingMedia=Mist\n" \
85                          "HessianAmbientCache\nAmbientAveraging\n" \
86                          "AmbientValueSharing\nAdaptiveShadowTesting\n" \
87                          "InputFormats=a,f,d\nOutputFormats=a,f,d,c\n" \
88 <                        "Outputs=o,d,v,V,w,W,l,L,c,p,n,N,s,m,M,r,x,R,X,~\n"
88 >                        "Outputs=o,d,v,V,w,W,l,L,c,p,n,N,s,m,M,r,x,R,X,~\n" \
89 >                        "OutputCS=RGB,XYZ,Y,S,M,prims,spec\n"
90   #endif
91  
92  
# Line 294 | Line 296 | main(int  argc, char  *argv[])
296                                  sens_curve = NULL;
297                                  } break;
298                          case 'Y':                       /* photopic response */
299 +                                if (argv[i][3])
300 +                                        goto badopt;
301                                  sens_curve = scolor_photopic;
302                                  out_scalefactor = WHTEFFICACY;
303                                  break;
304                          case 'S':                       /* scotopic response */
305 +                                if (argv[i][3])
306 +                                        goto badopt;
307                                  sens_curve = scolor_scotopic;
308                                  out_scalefactor = WHTSCOTOPIC;
309                                  break;
310                          case 'M':                       /* melanopic response */
311 +                                if (argv[i][3])
312 +                                        goto badopt;
313                                  sens_curve = scolor_melanopic;
314                                  out_scalefactor = WHTMELANOPIC;
315                                  break;
# Line 310 | Line 318 | main(int  argc, char  *argv[])
318                          }
319                          break;
320   #if MAXCSAMP>3
321 <                case 'c':                               /* spectral sampling */
322 <                        switch (argv[i][2]) {
315 <                        case 's':                       /* spectral bin count */
316 <                                check(3,"i");
317 <                                NCSAMP = atoi(argv[++i]);
318 <                                break;
319 <                        case 'w':                       /* wavelength extrema */
320 <                                check(3,"ff");
321 <                                WLPART[0] = atof(argv[++i]);
322 <                                WLPART[3] = atof(argv[++i]);
323 <                                break;
324 <                        case 'o':                       /* output spectral results */
325 <                                rval = (out_prims == NULL);
326 <                                check_bool(3,rval);
327 <                                if (rval) out_prims = NULL;
328 <                                else if (out_prims == NULL) out_prims = stdprims;
329 <                                break;
330 <                        default:
321 >                case 'c':                               /* output spectral results */
322 >                        if (argv[i][2] != 'o')
323                                  goto badopt;
324 <                        }
324 >                        rval = (out_prims == NULL) & (sens_curve == NULL);
325 >                        check_bool(3,rval);
326 >                        if (rval) {
327 >                                out_prims = NULL;
328 >                                sens_curve = NULL;
329 >                        } else if (out_prims == NULL)
330 >                                out_prims = stdprims;
331                          break;
332   #endif
333   #ifdef  PERSIST
# Line 578 | Line 576 | printdefaults(void)                    /* print default values to stdou
576   {
577          char  *cp;
578  
579 +        printf(erract[WARNING].pf != NULL ?
580 +                        "-w+\t\t\t\t# warning messages on\n" :
581 +                        "-w-\t\t\t\t# warning messages off\n");
582          if (imm_irrad)
583                  printf("-I+\t\t\t\t# immediate irradiance on\n");
584          printf("-n %-2d\t\t\t\t# number of rendering processes\n", nproc);
# Line 615 | Line 616 | printdefaults(void)                    /* print default values to stdou
616                  case '~': printf(" tilde"); break;
617                  }
618          fputc('\n', stdout);
618        if (NCSAMP > 3) {
619                printf("-cs %-2d\t\t\t\t# number of spectral bins\n", NCSAMP);
620                printf("-cw %3.0f %3.0f\t\t\t# wavelength limits (nm)\n",
621                                WLPART[3], WLPART[0]);
622                printf(out_prims != NULL ? "-co-\t\t\t\t# output tristimulus colors\n" :
623                                "-co+\t\t\t\t# output spectral values\n");
624        }
619          if (sens_curve == scolor_photopic)
620                  printf("-pY\t\t\t\t# photopic output\n");
621          else if (sens_curve == scolor_scotopic)
# Line 638 | Line 632 | printdefaults(void)                    /* print default values to stdou
632                                  out_prims[GRN][0], out_prims[GRN][1],
633                                  out_prims[BLU][0], out_prims[BLU][1],
634                                  out_prims[WHT][0], out_prims[WHT][1]);
635 <        printf(erract[WARNING].pf != NULL ?
636 <                        "-w+\t\t\t\t# warning messages on\n" :
637 <                        "-w-\t\t\t\t# warning messages off\n");
635 >        if (NCSAMP > 3)
636 >                printf(out_prims != NULL ? "-co-\t\t\t\t# output tristimulus colors\n" :
637 >                                "-co+\t\t\t\t# output spectral values\n");
638          print_rdefaults();
639   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines