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

Comparing ray/src/rt/rv2.c (file contents):
Revision 2.69 by greg, Tue Nov 13 19:58:33 2018 UTC vs.
Revision 2.74 by greg, Wed Nov 15 18:02:53 2023 UTC

# Line 483 | Line 483 | getexposure(                           /* get new exposure */
483   }
484  
485   typedef union {int i; double d; COLOR C;}       *MyUptr;
486 #define  FEQ(x,y)     (fabs((x)-(y)) <= FTINY)
486  
487   int
488   getparam(               /* get variable from user */
# Line 521 | Line 520 | getparam(              /* get variable from user */
520                          if (sscanf(buf, "%lf", &d0) != 1)
521                                  return(0);
522                  }
523 <                if (FEQ(ptr->d, d0))
523 >                if (FABSEQ(ptr->d, d0))
524                          return(0);
525                  ptr->d = d0;
526                  break;
# Line 553 | Line 552 | getparam(              /* get variable from user */
552                          if (sscanf(buf, "%lf %lf %lf", &d0, &d1, &d2) != 3)
553                                  return(0);
554                  }
555 <                if (FEQ(colval(ptr->C,RED), d0) &&
556 <                                FEQ(colval(ptr->C,GRN), d1) &&
557 <                                FEQ(colval(ptr->C,BLU), d2))
555 >                if (FABSEQ(colval(ptr->C,RED), d0) &&
556 >                                FABSEQ(colval(ptr->C,GRN), d1) &&
557 >                                FABSEQ(colval(ptr->C,BLU), d2))
558                          return(0);
559                  setcolor(ptr->C, d0, d1, d2);
560                  break;
# Line 793 | Line 792 | traceray(                              /* trace a single ray */
792                  matspec[0] = '\0';
793                  if (thisray.ro->omod != OVOID) {
794                          mod = objptr(thisray.ro->omod);
795 <                        mat = findmaterial(mod);
795 >                        mat = findmaterial(thisray.ro);
796                  }
797                  if (thisray.rod < 0.0)
798                          strcpy(matspec, "back of ");
# Line 812 | Line 811 | traceray(                              /* trace a single ray */
811                                          ofun[ino->otype].funame, ino->oname);
812                  (*dev->comout)(buf);
813                  (*dev->comin)(buf, NULL);
814 <                if (thisray.rot >= FHUGE)
814 >                if (thisray.rot >= FHUGE*.99)
815                          (*dev->comout)("at infinity");
816                  else {
817                          sprintf(buf, "at (%.6g %.6g %.6g) (%.6g)",
# Line 822 | Line 821 | traceray(                              /* trace a single ray */
821                  }
822                  (*dev->comin)(buf, NULL);
823                  sprintf(buf, "value (%.5g %.5g %.5g) (%.3gL)",
824 <                                colval(thisray.rcol,RED),
825 <                                colval(thisray.rcol,GRN),
826 <                                colval(thisray.rcol,BLU),
827 <                                luminance(thisray.rcol));
824 >                                scolval(thisray.rcol,RED),
825 >                                scolval(thisray.rcol,GRN),
826 >                                scolval(thisray.rcol,BLU),
827 >                                sluminance(thisray.rcol));
828                  (*dev->comout)(buf);
829          }
830          (*dev->comin)(buf, NULL);
# Line 871 | Line 870 | writepict(                             /* write the picture to a file */
870                  fputexpos(exposure, fp);
871          if (dev->pixaspect != 1.0)
872                  fputaspect(dev->pixaspect, fp);
873 +        fputprims(stdprims, fp);
874          fputformat(COLRFMT, fp);
875          putc('\n', fp);
876          fprtresolu(hresolu, vresolu, fp);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines