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

Comparing ray/src/rt/t_func.c (file contents):
Revision 1.5 by greg, Tue Apr 11 13:30:33 1989 UTC vs.
Revision 1.7 by greg, Thu Oct 5 07:23:20 1989 UTC

# Line 43 | Line 43 | register RAY  *r;
43          extern double  varvalue();
44          extern int  errno;
45          FVECT  disp;
46 +        double  d;
47          register XFORM  *mxf;
48          register int  i;
49          register char  **sa;
# Line 55 | Line 56 | register RAY  *r;
56                  mxf = (XFORM *)malloc(sizeof(XFORM));
57                  if (mxf == NULL)
58                          goto memerr;
58                mxf->fore.sca = 1.0;
59                setident4(mxf->fore.xfm);
59                  if (xf(mxf->fore.xfm, &mxf->fore.sca,
60                          m->oargs.nsargs-4, sa+4) != m->oargs.nsargs-4)
61                          objerror(m, USER, "bad transform");
62                  if (mxf->fore.sca < 0.0)
63                          mxf->fore.sca = -mxf->fore.sca;
65                mxf->back.sca = 1.0;
66                setident4(mxf->back.xfm);
64                  invxf(mxf->back.xfm, &mxf->back.sca,
65                                  m->oargs.nsargs-4, sa+4);
66                  if (mxf->back.sca < 0.0)
# Line 84 | Line 81 | register RAY  *r;
81          }
82          multv3(disp, disp, mxf->fore.xfm);
83          multv3(disp, disp, r->rofx);
84 +        d = 1.0 / (mxf->fore.sca * r->rofs);
85          for (i = 0; i < 3; i++)
86 <                r->pert[i] += disp[i] / (mxf->fore.sca * r->rofs);
86 >                r->pert[i] += disp[i] * d;
87          return;
88   memerr:
89          error(SYSTEM, "out of memory in t_func");

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines