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

Comparing ray/src/px/pcomb.c (file contents):
Revision 2.57 by greg, Sat Dec 9 23:46:51 2023 UTC vs.
Revision 2.59 by greg, Fri Feb 23 03:47:57 2024 UTC

# Line 251 | Line 251 | main(
251          if (!outfloat)
252                  fprtresolu(xres, yres, stdout);
253  
254 +        doptimize(1);                           /* optimize definitions */
255          combine();                              /* combine pictures */
256          quit(0);
257   usage:
# Line 453 | Line 454 | static void
454   combine(void)                   /* combine pictures */
455   {
456          EPNODE  *coldef[3], *brtdef;
457 +        int     set_x, set_y;
458          COLOR   *scanout;
459          double  d;
460          int     i, j;
# Line 467 | Line 469 | combine(void)                  /* combine pictures */
469                  brtdef = eparse(vbrtout);
470          else
471                  brtdef = NULL;
472 +                                                /* what to set */
473 +        set_x = varlookup(vxpos) != NULL && !vardefined(vxpos);
474 +        set_y = varlookup(vypos) != NULL && !vardefined(vypos);
475                                                  /* allocate scanline */
476          scanout = (COLOR *)emalloc(xres*sizeof(COLOR));
477                                                  /* set input position */
# Line 474 | Line 479 | combine(void)                  /* combine pictures */
479                                                  /* combine files */
480          for (ypos = yres-1; ypos >= 0; ypos--) {
481              advance();
482 <            varset(vypos, '=', (double)ypos);
482 >            if (set_y) varset(vypos, '=', (double)ypos);
483              for (xpos = 0; xpos < xres; xpos++) {
484                  xscan = (xpos+.5)*xmax/xres;
485 <                varset(vxpos, '=', (double)xpos);
485 >                if (set_x) varset(vxpos, '=', (double)xpos);
486                  eclock++;
487                  if (brtdef != NULL) {
488                      d = evalue(brtdef);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines