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

Comparing ray/src/rt/rcmain.c (file contents):
Revision 2.32 by greg, Wed Nov 15 18:02:53 2023 UTC vs.
Revision 2.39 by greg, Wed Oct 30 17:26:13 2024 UTC

# Line 55 | Line 55 | char   RCCONTEXT[] = "RC.";            /* our special evaluation c
55  
56   #if defined(_WIN32) || defined(_WIN64)
57   #define RCONTRIB_FEATURES       "Accumulation\nSummation\nRecovery\n" \
58 <                                "Hyperspectral\nImmediateIrradiance\n" \
58 >                                "ImmediateIrradiance\n" \
59                                  "ProgressReporting\nDistanceLimiting\n" \
60                                  "InputFormats=a,f,d\nOutputFormats=a,f,d,c\n" \
61 <                                "Outputs=V,W\n"
61 >                                "Outputs=V,W\n" \
62 >                                "OutputCS=RGB,spec\n"
63   #else
64   #define RCONTRIB_FEATURES       "Multiprocessing\n" \
65                                  "Accumulation\nSummation\nRecovery\n" \
66 <                                "Hyperspectral\nImmediateIrradiance\n" \
66 >                                "ImmediateIrradiance\n" \
67                                  "ProgressReporting\nDistanceLimiting\n" \
68                                  "InputFormats=a,f,d\nOutputFormats=a,f,d,c\n" \
69 <                                "Outputs=V,W\n"
69 >                                "Outputs=V,W\n" \
70 >                                "OutputCS=RGB,spec\n"
71   #endif
72  
73   static void
74   printdefaults(void)                     /* print default values to stdout */
75   {
76          printf("-c %-5d\t\t\t# accumulated rays per record\n", accumulate);
75        if (NCSAMP > 3) {
76                printf("-cs %-2d\t\t\t\t# number of spectral bins\n", NCSAMP);
77                printf("-cw %3.0f %3.0f\t\t\t# wavelength limits (nm)\n",
78                                WLPART[3], WLPART[0]);
79        }
77          printf("-V%c\t\t\t\t# output %s\n", contrib ? '+' : '-',
78                          contrib ? "contributions" : "coefficients");
79          if (imm_irrad)
# Line 91 | Line 88 | printdefaults(void)                    /* print default values to stdou
88                          "-h-\t\t\t\t# no header\n");
89          printf("-f%c%c\t\t\t\t# format input/output = %s/%s\n",
90                          inpfmt, outfmt, formstr(inpfmt), formstr(outfmt));
91 +        if (report_intvl > 0)
92 +                printf("-t %-9d\t\t\t#  time between reports\n", report_intvl);
93          printf(erract[WARNING].pf != NULL ?
94                          "-w+\t\t\t\t# warning messages on\n" :
95                          "-w-\t\t\t\t# warning messages off\n");
# Line 302 | Line 301 | main(int argc, char *argv[])
301                          check(2,"s");
302                          set_eparams(prms = argv[++i]);
303                          break;
304 <                case 'c':                               /* spectral sampling or count */
305 <                        switch (argv[i][2]) {
306 < #if MAXCSAMP>3
308 <                        case 's':                       /* spectral bin count */
309 <                                check(3,"i");
310 <                                NCSAMP = atoi(argv[++i]);
311 <                                break;
312 <                        case 'w':                       /* wavelength extrema */
313 <                                check(3,"ff");
314 <                                WLPART[0] = atof(argv[++i]);
315 <                                WLPART[3] = atof(argv[++i]);
316 <                                break;
317 < #endif
318 <                        case '\0':                      /* sample count */
319 <                                check(2,"i");
320 <                                accumulate = atoi(argv[++i]);
321 <                                break;
322 <                        default:
323 <                                goto badopt;
324 <                        }
304 >                case 'c':                       /* sample count */
305 >                        check(2,"i");
306 >                        accumulate = atoi(argv[++i]);
307                          break;
308                  case 'b':                       /* bin expression/count */
309                          if (argv[i][2] == 'n') {
# Line 352 | Line 334 | main(int argc, char *argv[])
334                  error(USER, "missing required modifier argument");
335                                          /* override some option settings */
336          override_options();
337 +                                        /* set/check spectral sampling */
338 +        if (setspectrsamp(CNDX, WLPART) < 0)
339 +                error(USER, "unsupported spectral sampling");
340                                          /* initialize object types */
341          initotypes();
342                                          /* initialize urand */
# Line 406 | Line 391 | main(int argc, char *argv[])
391          
392          rcontrib();                     /* trace ray contributions (loop) */
393  
409        ambsync();                      /* flush ambient file */
410
394          /* PMAP: free photon maps */
395          ray_done_pmap();    
396          
# Line 432 | Line 415 | wputs(                         /* warning output function */
415   )
416   {
417          int  lasterrno = errno;
418 +        if (erract[WARNING].pf == NULL)
419 +                return;         /* called by calcomp or someone */
420          eputs(s);
421          errno = lasterrno;
422   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines