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.68 by greg, Thu Nov 8 00:54:07 2018 UTC vs.
Revision 2.73 by greg, Sun Nov 14 17:30:02 2021 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)",
818                                          thisray.rop[0], thisray.rop[1],
819 <                                        thisray.rop[2], thisray.rt);
819 >                                        thisray.rop[2], raydistance(&thisray));
820                          (*dev->comout)(buf);
821                  }
822                  (*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