ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/Development/ray/src/util/rsensor.c
(Generate patch)

Comparing ray/src/util/rsensor.c (file contents):
Revision 2.21 by greg, Tue Mar 15 18:05:03 2022 UTC vs.
Revision 2.24 by greg, Wed Apr 23 02:35:27 2025 UTC

# Line 11 | Line 11 | static const char RCSid[] = "$Id$";
11   #include "ray.h"
12   #include "platform.h"
13   #include "source.h"
14 + #include "func.h"
15   #include "view.h"
16   #include "random.h"
17  
# Line 101 | Line 102 | main(
102          directrelay = 3;
103          ambounce = 1;
104          maxdepth = -10;
105 +                                /* initialize calcomp routines */
106 +        initfunc();
107                                  /* get options from command line */
108          for (i = 1; i < argc; i++) {
109                  while ((rval = expandarg(&argc, &argv, i)) > 0)
# Line 521 | Line 524 | comp_sensor(
524                                  ndsamps > 0 ? 1 : 0;
525          char    *err;
526          int     nt, np;
527 <        COLOR   vsum;
527 >        SCOLOR  vsum;
528          RAY     rr;
529          double  sf;
530          int     i, j;
# Line 535 | Line 538 | comp_sensor(
538                                                  /* assign probability table */
539          init_ptable(sfile);
540                                                  /* stratified MC sampling */
541 <        setcolor(vsum, .0f, .0f, .0f);
541 >        scolorblack(vsum);
542          nt = (int)(sqrt((double)nsamps*ntheta/nphi) + .5);
543          np = nsamps/nt;
544          sf = gscale/nsamps;
# Line 551 | Line 554 | comp_sensor(
554                          }
555                          rr.rmax = .0;
556                          rayorigin(&rr, PRIMARY|SPECULAR, NULL, NULL);
557 <                        scalecolor(rr.rcoef, sf);
557 >                        scalescolor(rr.rcoef, sf);
558                          if (ray_pqueue(&rr) == 1)
559 <                                addcolor(vsum, rr.rcol);
559 >                                saddscolor(vsum, rr.rcol);
560                  }
561                                                  /* remaining rays pure MC */
562          for (i = nsamps - nt*np; i-- > 0; ) {
# Line 567 | Line 570 | comp_sensor(
570                  }
571                  rr.rmax = .0;
572                  rayorigin(&rr, PRIMARY|SPECULAR, NULL, NULL);
573 <                scalecolor(rr.rcoef, sf);
573 >                scalescolor(rr.rcoef, sf);
574                  if (ray_pqueue(&rr) == 1)
575 <                        addcolor(vsum, rr.rcol);
575 >                        saddscolor(vsum, rr.rcol);
576          }
577          if (!ray_pnprocs)                       /* just printing rays */
578                  return;
579                                                  /* scale partial result */
580 <        scalecolor(vsum, sf);
580 >        scalescolor(vsum, sf);
581                                                  /* add direct component */
582          for (i = ndirs; i-- > 0; ) {
583                  SRCINDEX        si;
# Line 584 | Line 587 | comp_sensor(
587                          if (sf <= FTINY)
588                                  continue;
589                          sf *= si.dom/ndirs;
590 <                        scalecolor(rr.rcoef, sf);
590 >                        scalescolor(rr.rcoef, sf);
591                          if (ray_pqueue(&rr) == 1) {
592 <                                multcolor(rr.rcol, rr.rcoef);
593 <                                addcolor(vsum, rr.rcol);
592 >                                smultscolor(rr.rcol, rr.rcoef);
593 >                                saddscolor(vsum, rr.rcol);
594                          }
595                  }
596          }
597 <                                                /* finish our calculation */
598 <        while (ray_presult(&rr, 0) > 0) {
599 <                multcolor(rr.rcol, rr.rcoef);
597 <                addcolor(vsum, rr.rcol);
597 >        while (ray_presult(&rr, 0) > 0) {       /* finish our calculation */
598 >                smultscolor(rr.rcol, rr.rcoef);
599 >                saddscolor(vsum, rr.rcol);
600          }
601 <                                                /* print our result */
602 <        printf("%.4e %.4e %.4e\n", colval(vsum,RED),
603 <                                colval(vsum,GRN), colval(vsum,BLU));
601 >        for (i = 0; i < NCSAMP; i++)            /* print our result */
602 >                printf(" %.4e", vsum[i]);
603 >        fputc('\n', stdout);
604   }

Diff Legend

Removed lines
+ Added lines
< Changed lines (old)
> Changed lines (new)