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

Comparing ray/src/rt/rpmain.c (file contents):
Revision 2.36 by greg, Fri Nov 15 20:47:42 2024 UTC vs.
Revision 2.37 by greg, Sat Jan 18 03:49:00 2025 UTC

# Line 31 | Line 31 | char  *progname;                       /* argv[0] */
31   char  *octname;                         /* octree name */
32   char  *sigerr[NSIG];                    /* signal error messages */
33   char  *errfile = NULL;                  /* error output file */
34 < #ifdef SSKIPOPT
35 < int  *ssndx_map = NULL;                 /* loaded source index map */
36 < float  *scorr_map = NULL;               /* loaded source correction map */
37 < #endif
34 >
35   extern time_t  time();
36   extern time_t  tstart;                  /* start time */
37  
# Line 98 | Line 95 | main(int  argc, char  *argv[])
95          char  *recover = NULL;
96          char  *outfile = NULL;
97          char  *zfile = NULL;
101 #ifdef SSKIPOPT
102        char  *sskipspec = NULL;
103        char  *scorrfile = NULL;
104 #endif
98          int  loadflags = ~IO_FILES;
99          int  seqstart = 0;
100          int  persist = 0;
# Line 248 | Line 241 | main(int  argc, char  *argv[])
241                                  check(2,"s");
242                          recover = argv[++i];
243                          break;
251 #ifdef SSKIPOPT
252                case 'd':
253                        switch (argv[i][2]) {
254                        case 'S':                       /* direct skip */
255                                check(3,"s");
256                                sskipspec = argv[++i];
257                                break;
258                        case 'C':                       /* direct correction */
259                                check(3,"s");
260                                scorrfile = argv[++i];
261                                break;
262                        default:
263                                goto badopt;
264                        }
265                        break;
266 #endif
244   #ifdef  PERSIST
245                  case 'P':                               /* persist file */
246                          if (argv[i][2] == 'P') {
# Line 377 | Line 354 | main(int  argc, char  *argv[])
354          ray_init_pmap();     /* PMAP: set up & load photon maps */
355  
356          marksources();                  /* find and mark sources */
380 #ifdef SSKIPOPT
381        if (sskipspec != NULL) {        /* load source skip maps? */
382                if ((seqstart > 0) | (persist > 0))
383                        error(USER,
384                        "source skip map incompatible with -S/-P/-PP");
385                if (srcskip_open(sskipspec, scorrfile) <= 0)
386                        quit(1);
387                if ((ssndx_map = srcskip_ndxmap()) == NULL)
388                        quit(1);
389                if (scorrfile != NULL &&
390                                (scorr_map = srcskip_corrmap()) == NULL)
391                        quit(1);
392                srcskip_close();        /* leaves maps loaded */
393        }
394 #endif
357          setambient();                   /* initialize ambient calculation */
358          
359          fflush(stdout);                 /* in case we're duplicating header */
# Line 462 | Line 424 | badopt:
424   #undef  check_bool
425   }
426  
465 #ifdef SSKIPOPT
466 void                            /* source skip parameters for primary */
467 sskip_ray(RAY *r, double h, double v)
468 {
469        size_t  ssi;
470
471        if (ssndx_map == NULL)
472                return;         /* nothing to do */
473
474                                /* rows counted from the top! */
475        ssi = (size_t)((1.-v)*sskip_dim[1])*sskip_dim[0] +
476                        (size_t)(h*sskip_dim[0]);
477
478        if (ssi >= sskip_dim[0]*sskip_dim[1])
479                error(CONSISTENCY, "bad index in sskip_ray()");
480
481        r->rsrc = ssndx_map[ssi];
482        if (scorr_map != NULL)
483                r->scorr = scorr_map[ssi];
484 }
485 #endif
427  
428   void
429   wputs(                          /* warning output function */

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines