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

Comparing src/rt/rxfluxmtx.cpp (file contents):
Revision 2.6 by greg, Fri Oct 24 18:37:05 2025 UTC vs.
Revision 2.7 by greg, Fri Oct 24 19:58:19 2025 UTC

# Line 1627 | Line 1627 | main(int argc, char *argv[])
1627                  i /= myRCmanager.xres;
1628                  int     xstart = myRCmanager.GetRowCount() - i*myRCmanager.xres;
1629                  i = myRCmanager.yres - i;
1630 <                while (i--)             // compute pixel rows from yres down
1631 <                        for (int x = xstart; x < myRCmanager.xres; xstart = 0, x++) {
1630 >                while (i--) {           // compute pixel rows from top down
1631 >                        for (int x = xstart; x < myRCmanager.xres; x++) {
1632                                  report_progress();
1633                                  if (!viewRayBundle(rayarr, x, i))
1634                                          quit(1);
1635                                  if (myRCmanager.ComputeRecord(rayarr) != myRCmanager.accum)
1636                                          error(USER, "failed call to ComputeRecord()");
1637                          }
1638 +                        xstart = 0;     // all rows after first start at x=0
1639 +                }
1640          } else if (sendfn == NULL) {    // pass-through mode?
1641   #ifdef getc_unlocked
1642                  flockfile(stdin);
# Line 1646 | Line 1648 | main(int argc, char *argv[])
1648                                  error(SYSTEM, errmsg);
1649                          }
1650                  if (verby) {
1651 <                        sprintf(errmsg, "computing %d rows in %d matrices\n",
1652 <                                        myRCmanager.GetRowMax()-i, nout);
1651 >                        sprintf(errmsg, "computing %d%s rows in %d matrices\n",
1652 >                                        myRCmanager.GetRowMax()-i, i ? " remaining" : "", nout);
1653                          if (myRCmanager.accum > 1)
1654                                  sprintf(errmsg+strlen(errmsg)-1, " with %d samples/row\n",
1655                                                  myRCmanager.accum);
# Line 1666 | Line 1668 | main(int argc, char *argv[])
1668          } else {                        // else surface-sampling mode
1669                  i = myRCmanager.GetRowCount();
1670                  if (verby) {
1671 <                        sprintf(errmsg, "sampling %d directions in %d matrices with %d samples/direction\n",
1672 <                                        myRCmanager.yres-i, nout, myRCmanager.accum);
1671 >                        sprintf(errmsg, "sampling %d%s directions in %d matrices with %d samples/direction\n",
1672 >                                        myRCmanager.yres-i, i ? " remaining" : "",
1673 >                                        nout, myRCmanager.accum);
1674                          if (sendparams.nsurfs > 1)
1675                                  sprintf(errmsg+strlen(errmsg)-1, " (%d surface elements)\n", sendparams.nsurfs);
1676                          eputs(errmsg);
# Line 1684 | Line 1687 | main(int argc, char *argv[])
1687          delete [] rayarr;
1688          myRCmanager.FlushQueue();
1689          report_progress((report_intvl > 0) | verby);
1690 <        quit(0);                        /* waits on children */
1690 >        quit(0);                        /* waits on any children */
1691   userr:
1692          if (a < argc && argv[a][0] == '-')
1693                  fprintf(stderr, "%s: unsupported/misplaced option '%s'\n", progname, argv[a]);

Diff Legend

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